cron 系统是一种按计划自动运行命令的方法。 一个计划任务被称为 *cronjob*,它是在一个叫做 *crontab* 的文件中创建的。 这是计算机用户自动化他们的计算机的最简单和最古老的方法。
编写 cronjob
要创建一个 cronjob,你可以使用 -e
选项编辑你的 crontab
$ crontab -e
这会用你的默认文本编辑器打开你的 crontab。要显式设置文本编辑器,请使用 EDITOR
环境变量
$ EDITOR=nano crontab -e
Cron 语法
要安排一个 cronjob,你需要提供一个 cron 表达式,后跟你想让你的计算机执行的命令。 cron 表达式会安排命令的运行时间
-
分钟 (0 到 59)
-
小时 (0 到 23, 0 表示午夜)
-
月份中的某天 (1 到 31)
-
月份 (1 到 12)
-
星期中的某天 (0 到 6, 星期天为 0)
字段中的星号 (*
) 表示 "每一个"。 例如,此表达式在*每一个*月中的*每一*天的*每一*个小时的第 0 分钟运行一个备份脚本
0 * * * * /opt/backup.sh
此表达式在星期天的凌晨 3:30 运行一个备份脚本
30 3 * * 0 /opt/backup.sh
简化语法
现代 cron 实现接受简化的宏而不是 cron 表达式
-
@hourly
在每天的每个小时的第 0 分钟运行 -
@daily
在每天的第 0 个小时的第 0 分钟运行 -
@weekly
在星期天的第 0 个小时的第 0 分钟运行 -
@monthly
在每个月的第一天的第 0 个小时的第 0 分钟运行
例如,此 crontab 行在每天午夜运行一个备份脚本
/opt/backup.sh @daily
如何停止一个 cronjob
一旦你启动了一个 cronjob,它就会被设计为永远按计划运行。 要停止已经启动的 cronjob,你必须编辑你的 crontab,删除触发该作业的行,然后保存该文件。
$ EDITOR=nano crontab -e
要停止正在运行的作业,使用标准的 Linux 进程命令 来停止一个运行中的进程。
它是自动的
一旦你编写了你的 crontab,保存文件并退出你的编辑器。 你的 cronjob 已经被安排好了,所以 cron 会完成剩下的工作。
4 条评论