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分钟运行一个备份脚本。
/opt/backup.sh 0 * * * *
这个表达式在星期天的凌晨3:30运行一个备份脚本。
/opt/backup.sh 30 3 * * 0
简化的语法
现代的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做剩下的事情。