延迟任务的发起  
 
 在系统中我们可以使用 at 命令来发起延迟任务  
 
 at 命令执行是调用的是 atd 服务,即使系统最小化安装 atd 也会被安装到系统中  
 
 at  任务信息存放在系统中 /var/spool/at 目录中  
 
 at  任务的日志文件被存放到 /var/log/cron 中  
 
 at  任务执行时如果遇到系统处于关闭状态,那么在开启时 atd 任务会检测未执行的任务并且立即执行  
 
 延迟任务发起方法如下: 
 
at 11:30
touch /mnt/file{1..5}
 at 命令参数详解  
  at  命令执行格式为  at [ 参数 ] [ 时间 ]  
  at  命令常用参数  
  -m  当任务完成之后,即使没有标准输出,将给用户发送邮件  
  -l atq 的别名,可列出目前系统上面的所有该用户的 at 调度  
  -d atrm 的别名 , 可以取消一个在 at 调度中的工作  
  -v  使用较明显的时间格式,列出 at 调度中的任务列表  
  -c  可以列出后面接的该项工作的实际命令内容  
  -f  从文件中读取作作业  
  at  命令的时间表示方法  
  HH:MM  在今天的 HH 小时 MM 分钟执行,如果今天的这个时间点已经过了,则明天执行  
  HH:MM YYYY-MM-DD  强制规定在某年某月的某一天的特殊时刻进行该工作  
  now + 2 minutes  从现在开始几分钟 minutes, hours, days, or weeks 
  如何非交互的设定延迟任务  
  在生产环境中我们通常会用脚本来设定一个或多个延迟任务但是 at 任务的执行需要交互的进行,这样无法  
  满足脚本自动化运行,输入重定向可以解决交互问题: 
 vim at_job.sh
at now+1min 
rm -fr /mnt/file{1..5} 定时任务发起  
  在系统中我们可以使用 crontab 命令来发起用户级定时任务  
  在系统中 /etc/cronfilename  是系统级定时任务,只有 root 用户可以发起  
  定时任务执行是调用的是 crond 服务,即使系统最小化安装 crond 也会被安装到系统中  
  定时任务信息存放在系统中 /var/spool/cron 目录中,存放文件和发起人名称一致  
  定时任务的日志文件被存放到 /var/log/cron 中  
  定时任务执行时如果遇到系统处于关闭状态,那么在开启时 crond 任务会检测未执行的任务并且立  
  即执行  
  发起用户级周期行任务  
  周期任务发起方式  
  crontab 命令的执行格式为: crontab –u  用户  –e 
  crontab 命令参数如下  
  -u :用来设定某个用户的 crontab 服务此参数一般有 root 用户来运行。  
  file : file 是命令文件的名字 , 表示将 file 做为 crontab 的任务列表文件并载入 crontab  
  -e :编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。  
  -l :显示某个用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。  
  -r :从 /var/spool/cron 目录中删除某个用户的 crontab 文件  
  -i :在删除用户的 crontab 文件时给确认提示。  
  crontab  在设定定时任务是会以 vi 命令打开临时文件在保存时会把内容同步到 /var/spool/cron 中  
  文件格式为:分 时 天 月 周 执行动作  
  11 11 * * * echo hello # 每天 11 点 11 分执行 echo hello  命令 
  发起系统级别的周期任务 
  /etc/cron.d  
  系统自定义周期任务  
  /etc/cron.daily  
  每天周期任务  
  /etc/cron.hourly  
  每小时周期任务  
  /etc/cron.monthly  
  每月周期任务  
  /etc/cron.weekly  
  每周周期任务 
  自定义周期任务设置方式 
 vim /etc/cron.d/job
分钟 小时 天 月 周 用户 动作
01 09-17 * * * root date 定时任务执行优化  
  定时任务在执行时首先会查看执行者是否在名单中  
  系统中默认只存在黑名单 /etc/cron.deny ,写入此文件中的用户会被禁止使用定时任务  
  在系统中可以手动建立白名单 /etc/cron.allow, 当此文件出现黑名单不会被检测  
  白名单出现只有 root 用户和白名单用户可以执行定时任务  
  如果系统中没有黑白名单那么只有 root 用户可以执行任务  
  黑白名单为用户列表,每个用户一行  
  黑白名单只针对用户级定时任务进行限制