at,crontab

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/spoolcron/用户名/ 下

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分钟执行一次命令

扫描二维码关注公众号,回复: 896186 查看本文章

/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 ~]# 

猜你喜欢

转载自www.cnblogs.com/forlive/p/9052100.html