Cron是Linux最有用的工具之一 ,也是开发人员的最爱,因为它允许您使用通用和特定于任务的脚本在特定的时间段 ,日期和间隔运行自动命令 。 根据该描述,您可以想象系统管理员如何使用它来自动执行备份任务 ,目录清理,通知等。
Cron作业在后台运行并不断检查/etc/crontab
文件,以及/etc/cron.*/
和/var/spool/cron/
目录。 cron文件不应该直接编辑,每个用户都有一个唯一的crontab。
那么你应该如何创建和编辑cron作业? 使用crontab命令 。 crontab是用于创建,编辑,安装,卸载和列出cron作业的方法。
用于创建和编辑cron作业的命令是相同且简单的。 更酷的是,在创建新文件或编辑现有文件后,您无需重新启动cron。
$ crontab -e
Cron语法
就像使用任何语言一样,当你理解它的语法时,使用cron会更容易,你应该知道2种格式:
A B C D E USERNAME /path/to/command arg1 arg2ORA B C D E USERNAME /root/backup.sh
上面的cron语法的说明:
- 答:分钟范围: 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
每天凌晨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
每天凌晨23点,凌晨2点和凌晨4点运行perlscript.pl
:
23 0-23/2 * * * /path/to/perlscript.pl
每周日04:05运行Linux命令:
5 4 * * sun /path/to/linuxcommand
Cron选项
列出cron工作。
# crontab -lOR# 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的文章。 它有你可能会觉得有用的资源。