如何在 Linux 上使用 cron

cron 系统是一种按计划自动运行命令的方法。
30 位读者喜欢这个。
Cron expression

CC BY-SA Seth Kenlon

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 会完成剩下的工作。

接下来阅读什么
标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算行业工作,而且常常同时工作。

4 条评论

一旦启动了 cron 作业,如何关闭它?

感谢您的提示。我已经添加了一个关于停止 cronjobs 的章节。

回复 Greg P

这些例子是反向的! - 命令在时间规范之后放在最后,而不是放在最前面。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.