欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

程序员文章站 2022-05-13 18:58:52
...

1.系统延时任务

是临时的,采用命令at

at		now+1min
at> rm -rf  /mnt/*                          
at> <EOT>	   ##键入延时任务后,ctrl+d执行,(注意:<EOF>是ctrl+d执行时自动生成的)			

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

at    -l			              ##查看任务列表 
at    -c    任务编号	              ##查看任务内容
at    -r    任务编号	              ##取消任务执行

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

注意:当我们设定的任务有输出时,会以邮件的形式发送给配置延时任务的发起者

查看邮件的方法:

mail  -u  root		##查看超级用户的邮件
1			##查看第一封邮件
q			##退出

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

2.可以执行at延时任务的黑白名单

配置文件:

vim  /etc/at.deny     ##黑名单
vim /etc/at.allow     ##白名单

系统中默认存在黑名单,不存在白名单。黑名单之内的不可用,其他用户可用;白名单内的可用,名单之外不可用。

由此可见,白名单比黑名单更加安全,并且白名单存在时黑名单失效。

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

3.系统的定时任务

定时任务是永久的,命令crontab

1)crontab中时间的表示方式

* 	 * 	 * 	 * 	 *
#分 	#时 	#天 	#月 	#周
##例如:
*     *    *   *  *                  ##每分钟
*/2   *    *   *  *                  ##每两分钟
*/2 09-17  *   *  *                  ##早上9点到下午17点1每两分钟
*/2  */2   *   *  *                  ##每隔2小时每两分钟
*/2 09-17  3,5 1  5                  ##1月的3号和5号,并且每周5,早上9点到下午17点,每隔2分钟
*/2 09-17  *   *  5                  ##每周周五早9晚5
/ 	#每隔多久
, 	#几和几
- 	#从到什么到什么


2)系统控制crontab的服务

systemctl start crond.service     ##服务开启,定时任务即生效

3)定时任务管理命令

crontab -u root -e		##配置定时任务
crontab -u root -l		##查看root用户下的定时任务列表
crontab -u root -r		##取消定时任务

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

4)文件方式设定定时任务

配置文件:

vim /etc/cron.d/file
*  *  *  *  * 	 uesrname 	action
   #时间   	 #用户名 	 #任务
#例如:
*/2 * * * *  root   rm  -rf /mnt/*

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

5)crontab定时任务的黑白名单

配置文件:

/etc/cron.deny             ##黑名单:系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow            ##白名单:默认不存在,建立后黑名单失效,名单内可以执行crontab,名单之外不可执行

注意:白名单比黑名单更加安全,白名单建立后黑名单失效,黑白名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

4.系统中临时文件的管理方式

cd /usr/lib/tmpfiles.d/
vim westos.conf
##写入:
d /mnt/westos 777 root root 8s       ##配置westos中的文件在建立8s后才能被清除
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf    ##执行临时文件配置
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf     ##清楚临时文件配置

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)

Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)