Linux任务计划
at 执行一次的任务计划
确定atd守护进程开启,要使用单一工作调度时,我们的Linux系统上面必须要有负责这个调度的服务—atd
/etc/init.d/atd restart 开启atd守护进程
我们用at这个命令来生成所要运行的工作,并将这个工作以文本的方式写入/var/spool/at/目录内
管理可以使用at命令的账号
- 查找是否存在/etc/at.allow这个文件,写在这个文件里的用户可以使用at命令,不在这个文件中的用户不能使用at命令
- 查找是否存在/etc/at.deny这个文件,写在这个文件里的用户不可以使用at命令,不在这个文件中的用户可以使用at命令
- 如果以上两个文件都不存在,则只有root用户能使用at命令小结:/etc/at.allow控制比较严格,/etc/at.deny控制比较松散
atq 列出at任务
atrm [jobnumber] 删除指定at任务
- batch CPU的工作负载小于0.8的时候才会执行的工作任务
cron周期性执行的任务计划
- cron由crond守护进程进行服务控制
crond守护进程默认开启
/etc/init.d/crond restart 重启crond进程
限定可以使用crontab命令的用户
– /etc/cron.allow 白名单,该文件上的用户允许使用
– /etc/cron.deny 黑名单,该文件上的用户不允许使用- 当用户使用crontab建立任务以后,该任务会被写到/var/spool/cron/user里面去
- 注意不要直接编辑/var/spool/cron/user文件,避免语法错误造成命令不执行
- cron执行的每一项任务都会被记录到/var/log/cron这个日志文件中
- crontab [-u username] [-l|-e|-r]
-u 只允许root用户使用,为其他用户创建周期任务
-l 列出要执行的任务
-e 编辑任务
-r 清空任务,若要删除某个指定任务则用-e
代表意义 | 分钟 | 小时 | 日期 | 月 | 周 | 命令 |
---|---|---|---|---|---|---|
数字范围 | 0~59 | 0~12 | 1~31 | 1~12 | 0~7 | 就命令啊 |
0和7都代表星期天
特殊字符 | 代表意义 |
---|---|
*(星号) | 代表任何时刻都接受 |
,(逗号) | 代表分隔时段 举例:0 6,9 * * * command 表示要执行工作的时间是6:00和9:00 |
-(减号) | 代表时间段 举例: 20 6-9 * * * command 表示6:00到9:00的20分都执行任务 |
/n(斜线) | n代表数字,即每隔n单位间隔的意思,例如每5分钟执行一次: /5 * * * * command |
/etc/crontab 系统的配置文件
- root 表示执行命令的身份
- run-parts 是系统的里面自带的脚本,功能是将指定目录下的所有文件找出来执行
anacron
- anacron作为crontab的补充,处理Linux关机期间未执行的crontab任务
- Linux系统一开机,立即进行anacron的操作,检测停机期间应该进行但是没有进行的crontab任务,将任务执行一遍,然后anacron自动停止