如何在 Linux 上创建和管理 Cron 作业
Cron 是 Linux 最有用的工具之一,也是开发人员最喜欢的工具,因为它允许您使用通用脚本和特定于任务的脚本在特定时间段、日期和时间间隔运行自动化命令。根据该描述,您可以想象系统管理员如何使用它来自动执行备份任务、目录清理、通知等。
Cron 作业在后台运行,并不断检查 /etc/crontab
文件、/etc/cron.*/
和 /var/spool/cron/
目录。 cron 文件不应直接编辑,每个用户都有一个唯一的 crontab。
那么你应该如何创建和编辑 cron 作业呢?使用 crontab 命令。 crontab 是用于创建、编辑、安装、卸载和列出 cron 作业的方法。
创建和编辑 cron 作业的命令是相同且简单的。更酷的是,您无需在创建新文件或编辑现有文件后重新启动 cron。
crontab -e
定时语法
就像任何语言一样,当您了解 cron 的语法时,使用它会容易得多,并且您应该知道两种格式:
A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh
上述cron语法解释:
- A:分钟范围:0 – 59
- B:小时范围:0 – 23
- C:天范围:0 – 31
- D:月份范围:0 – 12
- E:一周中的几天范围:0 – 7。从周一开始,0或7代表周日
- 用户名:将其替换为您的用户名
- /path/to/command – 您要调度的脚本或命令的名称
那不是全部。 Cron 使用 3 个运算符符号,允许您在一个字段中指定多个值:
- 星号
(*)
:指定字段的所有可能值 - 逗号
(,)
:指定值列表 - 破折号
(-)
:指定值范围 - 分隔符
(/)
:指定步长值
现在您已经了解了 Cron 的语法和运算符,让我们看一些 cron 示例。
Cron 作业示例
运行 cron 命令的第一步是使用以下命令安装 crontab:
crontab -e
每天凌晨 3 点运行/root/backup.sh
:
0 3 * * * /root/backup.sh
每月二号下午 4:30 运行 script.sh
:
30 16 2 * * /path/to/script.sh
在一周中晚上 10 点运行 /scripts/phpscript.php
:
0 22 * * 1-5 /scripts/phpscript.php
每天午夜后、凌晨 2 点和凌晨 4 点后23 分钟运行 perlscript.pl
:
23 0-23/2 * * * /path/to/perlscript.pl
每周日 04:05 运行 Linux 命令:
5 4 * * sun /path/to/linuxcommand
计划任务选项
列出 cron 作业。
crontab -l
OR
crontab -u username -l
删除所有 crontab 作业。
crontab -r
删除特定用户的 Cron 作业。
crontab -r -u username
crontab 中的字符串
字符串是开发人员最喜欢的东西之一,因为它们通过消除重复编写来帮助节省时间。 Cron 有特定的字符串,您可以使用它来更快地创建命令:
@hourly
:每小时运行一次,即“0 * * * *”@midnight
:每天运行一次,即“0 0 * * *”@daily
:与午夜相同@weekly
:每周运行一次,即“0 0 * * 0”@monthly
:每月运行一次,即“0 0 1 * *”@annually
:每年运行一次,即“0 0 1 1 *”@yearly
:与@annually相同@reboot
:每次启动时运行一次
例如,这是每天备份系统的方法:
@daily /path/to/backup/script.sh
此时,您已具备使用 Cron 创建和管理系统任务所需的一切。您现在可以开始使用计划命令设置和维护多个环境。
您是多少 Cron 用户?您可以为本文提供任何详细信息吗?讨论框如下。
当您足够了解 Crontab 的工作原理后,您可以使用这些漂亮的 Crontab 生成器实用程序免费生成 crontab 行。
另外,您可以在此处阅读 Ubuntu 有关如何使用 Cron 的文章。它包含您可能会觉得有用的资源。