按计划重复运行的作业被称为周期性作业

 crond 守护进程管理周期性作业,由 cronie 软件包提供,默认安装并启动

 crond 守护进程读取多个配置文件,crontab 命令编辑配置文件

 如果计划任务运行失败,crond 会发送邮件给指定用户

注意:crontab 命令使用 -u 选项,以此来管理其他用户的作业。 不推荐

crontab 命令来管理系统作业,而应使用下一节中介绍的方法

crontab -e 调用 vim 进行计划任务的编辑,每行一个作业,支持空行和 #

注释行

 crontab 的字段格式是:分 时 日 月 周 命令,其中日和星期是或的

关系

 前五个字段全部使用相同的语法规则:

- * 表示始终

- 数字可用于指定分钟数或小时数、日期或者工作日

- x-y 表示范围,x 到 y(含)

- x,y 表示列表,列表也可以包含范围

- */x 表示 x 的时间间隔

注意!!!:因为Linux是以西方人的习惯设计的,他们的一周是以周日开头,而在crontab -e中编辑文本时,时间的间隔不能跨周,也就是像:Sat-Sun之类的,但是我非要表达周五到周日时可以使用:Sun,Fri-Sat就行了,因为周六到周日时跨周的

2.4 周期性用户作业示例

 每年 2 月 2 日上午 9 点准点执行命令:/usr/local/bin/yearly_backup

 七月每周五的上午 9 点和下午 5 点间,每五分钟向该作业的所有者发送

包含单词 Chime 的电子邮件

每个工作日(周一到周五)上午 9 点执行 mutt 命令,从而将邮件消息

Checking in 发送给收件人 boss@example.com

描述周期性系统作业

系统范围的 crontab 文件与用户的 crontab 类似,唯一的不同是系统范围

的 crontab 文件的命令字段前面有一个额外用户字段,用于指定运行命令

的用户

周期性系统作业,应始终在 /etc/cron.d 目录下创建自定义 crontab 文件

(为防止软件升级覆盖,请不要更新 /etc/crontab 文件)

 crontab 系统中还包含需要每小时、每天、每周和每月运行的脚本目录。

这些目录中包含可执行的 shell 脚本(记得 chmod +x script_name),分

别对应于名为 /etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/

cron.monthly/ 的目录

/etc/cron.d/0hourly 文件调用 run-parts 命令运行/etc/cron.hourly/* 脚本。

/etc/anacrontab 文件调用 run- parts 命令运行每日、每周和每月的作业

 /etc/anacrontab 确保重要的作业始终运行,不会因为系统在应执行作业时

关闭或休眠而意外跳过。例如,如果由于系统重启而导致某个每日运行的

系统作业上次未按时执行,则在系统启动后就会执行此作业。但启动作业

可能会有几分钟的延迟,可以参考 /etc/anacrontab 中 Delay in minutes

参数值

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐