Linux系统延时任务及定时任务

系统延时任务及定时任务
1.系统延时任务
例:设定02:15删除/mnt/下所有文件
[[email protected]_ssh ~]##at 02:15 ##设定任务执行时间
at>rm -fr /mnt/* ##任务删除
at> << CTRL+D ##用ctrl+D发起任务
Linux系统延时任务及定时任务
02:15分时删除/mnt/下所有文件
Linux系统延时任务及定时任务
例:设定一分钟后在/mnt/下建立10个文件
[[email protected]_ssh ~]##at now+1min ##延时1分钟
at> touch /mnt/file{1…10} ##任务建立文件
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
at -l ##查看任务列表
Linux系统延时任务及定时任务
at -c 任务号 ##查看任务内容
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
at -r 任务号 ##取消任务执行
注意:当任务有输出时,输出会以邮件的类型发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
“ > /var/spool/mail/root ” ##清空邮件
举例:2分钟后输出 hello hahahaha
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
2.at任务的黑白名单
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
例:没有黑白名单,正常执行at任务
切换到student用户正常执行at任务
Linux系统延时任务及定时任务
切换到westos用户正常执行at任务
Linux系统延时任务及定时任务
例:设定at任务黑名单为student
切换到student用户不能正常执行at任务
Linux系统延时任务及定时任务
切换到westos用户正常执行at任务
Linux系统延时任务及定时任务
例:当at任务白名单出现,不加入任何用户,无法正常执行at任务
切换到westos用户无法正常执行at任务
Linux系统延时任务及定时任务
切换到student用户不能正常执行at任务
Linux系统延时任务及定时任务
例:设定at任务白名单为westos
切换到student用户不能正常执行at任务
Linux系统延时任务及定时任务
切换到westos用户正常执行at任务
Linux系统延时任务及定时任务
3.系统定时任务
(1)crontab时间表示方式

“ * * * * * ” ##每分钟
“ */2 * * * * ” ##每两分钟
“ */2 09-17 * * * ” ##早9-晚5每两分钟
“ */2 */2 * * * ” ##每两分钟每隔2小时
“ */2 09-17 3,5 1 5 ##3月和5月每周周五及3月1日和5月1日每两分钟
“ */2 09-17 * * 5 ” ##早9-晚5每周周五每两分钟
(2)系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
(3)crontab
crontab -e -u ##以超级用户身份设定定时文件
crontab -l -u ##查看即将执行的定时任务
crontab -r -u ##取消即将执行的定时任务
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务Linux系统延时任务及定时任务
(4)文件方式设定定时任务
vim /etc/cron.d/
“ * * * * * ” username action
举例:设定每分钟删除/mnt/下文件2到文件8

[[email protected]_ssh ~]# cd /etc/cron.d    切换到/etc/cron.d目录下
[[email protected]_ssh cron.d]# ls   查看/etc/cron.d目录下内容
0hourly  raid-check  sysstat  unbound-anchor
[[email protected]_ssh cron.d]# pwd
/etc/cron.d
[[email protected]_ssh cron.d]# vim ruo  编辑文件ruo
[[email protected]_ssh cron.d]# cat ruo   查看文件ruo

Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务

5.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab,deny失效
注意:这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
例:没有crontab的黑白名单,正常执行crontab -e
Linux系统延时任务及定时任务
例:设定crontab的黑名单为westos

 vim /etc/cron.deny    ##在crontab的黑名单写入westos
  su - student             ##切换到studnet用户
   crontab -e     
       logout                ##退出studnet用户
    su - westos          ##切换到westos用户
    crontab -e
     exit                     ##退出westos用户
    

Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
设定crontab的白名单为student

 vim /etc/cron.allow      ##在crontab的白名单写入student
  su - student               ##切换到studnet用户    
  crontab -e
   logout                       ##退出studnet用户
    su - westos             ##切换到westos用户
     crontab -e
      logout                   ##退出westos用户

Linux系统延时任务及定时任务
Linux系统延时任务及定时任务
Linux系统延时任务及定时任务

4.系统中临时文件的管理
(1)切换到/usr/lib/tmpfiles.d/目录下,编辑文件westos.conf

[[email protected]_ssh ~]# cd /usr/lib/tmpfiles.d/  ##切换到/usr/lib/tmpfiles.d/目录下
[[email protected]_ssh tmpfiles.d]# pwd
/usr/lib/tmpfiles.d
[[email protected]_ssh tmpfiles.d]# vim westos.conf  编辑文件westos.conf
[[email protected]_ssh tmpfiles.d]# cat westos.conf   查看文件westos.conf内容
d  /mnt/westos  1777 root root 8s

Linux系统延时任务及定时任务
(2)建立临时文件
Linux系统延时任务及定时任务
(3)添加一个临时文件,再添加第二个临时文件,清除临时文件,文件1在系统中存在时间超过设定时间,先被清除
Linux系统延时任务及定时任务
(4)继续清除临时文件,文件2在系统中存在时间超过设定时间,也被清除
Linux系统延时任务及定时任务