Cron是 Linux 最有用的工具之一,也是开发人员最喜欢的工具,因为它允许您使用通用脚本和特定于任务的脚本在特定时间段、日期和时间间隔运行自动化命令。根据该描述,您可以想象系统管理员如何使用它来自动执行备份任务、目录清理、通知等。
Cron 作业在后台运行并不断检查/etc/crontab
文件、目录/etc/cron.*/
和/var/spool/cron/
目录。cron 文件不应直接编辑,每个用户都有一个唯一的 crontab。
那么你应该如何创建和编辑 cron 作业呢?使用crontab 命令。crontab 是用于创建、编辑、安装、卸载和列出 cron 作业的方法。
创建和编辑 cron 作业的命令是相同且简单的。更酷的是,您无需在创建新文件或编辑现有文件后重新启动 cron。
$ crontab -e
定时语法
就像任何语言一样,当您了解 cron 的语法时,使用cron就会容易得多,并且您应该知道两种格式:
ABCDE 用户名 /路径/到/命令 arg1 arg2 或者 ABCDE 用户名 /root/backup.sh
上述cron语法解释:
- A:分钟范围:0 – 59
- B:小时范围:0 – 23
- C:天数范围:0 – 31
- D:月份范围:0 – 12
- E:一周中的天数范围:0 – 7。从周一开始,0或7代表周日
- USERNAME:将其替换为您的用户名
- /path/to/command – 您要安排的脚本或命令的名称
那不是全部。Cron 使用 3 个运算符符号,允许您在一个字段中指定多个值:
- 星号
(*)
:指定字段的所有可能值 - 逗号
(,)
:指定值列表 - Dash
(-)
:指定值的范围 - 分隔符
(/)
:指定步长值
现在您已经了解了 Cron 的语法和运算符,让我们看一些 cron 示例。
Cron 作业示例
运行 cron 命令的第一步是使用以下命令安装 crontab:
# crontab -e
每天凌晨/root/backup.sh
3点跑步:
0 3 * * * /root/backup.sh
每月二号下午script.sh
4:30运行:
30 16 2 * * /path/to/script.sh
一周中/scripts/phpscript.php
晚上10 点运行:
0 22 * * 1-5 /scripts/phpscript.php
perlscript.pl
每天午夜后23分钟、凌晨 2 点和 4 点运行:
23 0-23/2 * * * /path/to/perlscript.pl
每周日 04:05 运行 Linux 命令:
5 4 * * sun /路径/到/linux命令
计划任务选项
列出 cron 作业。
# crontab -l 或者 # crontab -u 用户名 -l
删除所有 crontab 作业。
# crontab -r
删除特定用户的 Cron 作业。
# crontab -r -u 用户名
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 的文章。它包含您可能会觉得有用的资源。