at:仅执行一次就结束的调度命令
at [-mldvc] TIME
-m:当at的工作完成后,即使没有输出信息,也会以email的方式通知用户工作已完成
-l:相当于atq,列出系统上所有该用户的at调度
-d #:相当于atrm,取消一个工作调度
-v:显示详细时间格式信息
-c #:列出调度任务的详细工作内容
TIME:
HH:MM 例:12:00
HH:MM YYYY-MM-DD 例:12:00 2018-08-08
HH:MM + # [minutes|hours|days|weeks] 例:now + 5 minutes 12:00 + 5 days
/etc/at.allow:写在这个文件中的用户允许使用,不在这个文件中的用户不可以使用
/etc/at.deny:写在这个文件中的用户不允许使用,不在这个文件中的用户可以使用
这两个文件都不存在的话只有root可以使用。一个用户写一行。
batch:系统空闲时才会执行的调度命令,用法和at一样。
crontab:可以一直循环执行的调度命令
/etc/cron.allow:写在这个文件中的用户允许使用,不在这个文件中的用户不可以使用
/etc/cron.deny:写在这个文件中的用户不允许使用,不在这个文件中的用户可以使用
这两个文件都不存在的话只有root可以使用。一个用户写一行。
cron执行的例行性任务都在/var/spool/cron/用户名/ 下
crontab
-u username:帮助其他用户建立任务,只有root才可以执行
-e:编辑crontab任务
-l:查看crontab任务
-r:删除所有的crontab任务,如果仅删除一项,用-e删一行
crontab任务中每列都是一样的格式。
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
周:0-7。0和7都代表周日。周与日月不能同时进行。
命令:要执行的命令
表示时间的还有一些辅助的字符
*星号:代表任何都接受;* * * * 2 command代表每周2执行命令
,逗号:代表分段时间;* * * * 2,4 command代表每周2和周4执行命令
-减号:代表一段时间;* * * * 1-5 command代表每周一到周五执行命令
/n:代表每隔多长时间;*/5 * * * * command代表每5分钟执行一次命令
/etc/crontab:系统例行性任务配置文件
[root@bogon ~]# cat /etc/crontab SHELL=/bin/bash #使用哪种接口 PATH=/sbin:/bin:/usr/sbin:/usr/bin #执行文件查找路径 MAILTO=root #如果有输出信息,邮件发送给root HOME=/ #默认shell的家目录 1 * * * * root run-parts /etc/cron.hourly #每小时执行的任务 2 2 * * * root run-parts /etc/cron.daily #每周执行的任务 3 3 * * 3 root run-parts /etc/cron.weekly #每星期执行的任务 4 4 4 * * root run-parts /etc/cron.monthly #每月执行的任务
root代表以root身份执行。run-parts代表执行文件夹内所有的脚本。这些文件夹都在/etc目录下
[root@bogon ~]# ls /etc | grep ^cron cron.d cron.daily cron.deny cron.hourly cron.monthly crontab cron.weekly
anacron:在应该进行例行性任务的时候,系统关机了,没有进行,当系统再次启动时,anacron会检查该做的任务有没有进行,没有进行的话会根据配置文件进行。
[root@bogon ~]# cat /etc/anacrontab # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
天数 延迟时间 工作名称定义 进行的任务
延迟时间:在准备多长时间后执行后面的任务
/var/spool/anacron/*:时间戳文件。anacron利用这些文件检查任务是否已经进行
[root@bogon ~]# more /var/spool/anacron/* :::::::::::::: /var/spool/anacron/cron.daily :::::::::::::: 20180517 :::::::::::::: /var/spool/anacron/cron.monthly :::::::::::::: 20180424 :::::::::::::: /var/spool/anacron/cron.weekly :::::::::::::: 20180517 [root@bogon ~]#