1. crontab命令– 管理定时计划任务
在Linux系统中,cron是负责执行定时任务的服务。它使用crontab命令来管理定时任务,每个用户都有一个对应的 crontab 文件,允许该用户设置定时任务。
crontab [选项]
常见的选项:
选项 | 功能 |
---|---|
-e | 编辑任务 |
-l | 查看任务 |
-r | 删除任务 |
-u | 设置用户 |
在Ubuntu系统中,基本上第一次使用crontab命令编辑定时任务,会提示选择文本编辑器。默认是nano,可以根据习惯选择vim编辑器。如果没有提示设置,则可以使用select-editor命令,选择crontab的编辑器。
除此之外,crontab 任务的标准输出和标准错误默认情况下是发送到 /dev/null 的,这意味着不会在终端或任何地方看到输出结果。要想看到数据结构,则需要在设置定时任务时,指定标准输出和标准输入的重定向文件。
2. crontab任务基本格式
分钟 小时 日期 月份 星期 命令
- 时间可以使用*字符表示,也就是表示任意时间。
- 分钟:范围是0-59。
- 小时:范围是0-23。
- 日期:范围是1-31。、
- 月份:范围是1-12。
- 星期:范围是0-7,0和7都可以表示星期日。
- 命令:定时执行的命令或脚本等。
3. 定时任务常见操作
-
每分钟执行一次任务。
crontab -e * * * * * 命令
-
每个小时执行一次任务,这里是每个小时整点的时候执行任务。
crontab -e 0 * * * * 命令
-
每天执行一次任务,这里是每天的00:00时执行任务。
crontab -e 0 0 * * * 命令
-
每周执行一次任务,这里是每周星期一的00:00时执行任务。
crontab -e 0 0 * * 1 命令
-
每月执行一次任务,这里是每个月1号的00:00时执行任务。
crontab -e 0 0 1 * * 命令
-
每隔三天执行一次任务。
crontab -e 0 0 */3 * * 命令
- */3:这里表示每3天。
-
每天的上午8点和下午3点各执行一次任务。
crontab -e 0 8,15 * * * 命令
- 8,15:表示8点和15点。
-
每天8点到11点之间的整点时,执行指定任务。
crontab -e 0 8-11 * * * 命令