如何在 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 任务,如何关闭它?

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

回复 ,作者 Greg P

示例是倒过来的!- 命令在时间规范之后,而不是在前面。

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