基于linux系统下的系统定时任务与延时任务

1.系统延时任务

at命令
at 命令可以指定某一任务在将来的的特定时间运行。该作业可能是一次备份,对您系统的一次检查或者特定时间发送的通知。那些需要花费很长时间才可完成的作业正适合 at 命令。仅需使用at命令将任务设置为在一分钟或者两分钟之后运行,然后您就可以安全注销,因为该任务会在与shell会话断开连接的情况下运行
at命令必须指定任务应运行的时间,该指定可以是机具体的时间或日期(例如星期一,10:00pm 或者7月1日),也可以是当前时间的相对时间(现在时间加上5分钟,现在时间加上一天,一周),通过添加其他选项,您可以在任务完成时发送邮件(-m),或者从文件中读取任务(-f文件),而无需通过标准输入进行

at	 time					##设定任务执行时间
at>	 命令					##任务动作
at> 	<EOT>	<<CTRL+D	##用ctrl+D发起任务

at 	now+1min				##延时1分钟
at> 命令
at> <EOT>

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

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务

注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u user			##查看用户的邮件
数字				##查看第几封邮件
q				##退出

> /var/spool/mail/root		##清空邮件

基于linux系统下的系统定时任务与延时任务

2.at任务的黑白名单

/etc/at.deny			##系统中默认存在,在此文件中出现的用户不能执行at命令
/etc/at.allow			##系统中默认不存在,当此文件出现,普通用户不能执行at命令
						##只有在名单中的用户可以使用at命令,/etc/at.deny失效

黑名单:

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
白名单:

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务

3.系统定时任务

1.crontab 时间表示方式

分-时-日-月-周
*  *  *  *  *			##每分钟
*/2 * * * *				##每两分钟
*/2 09-17 * * *			##早7-晚5每两分钟
*/2 */2 * * *			##每隔两小时每两分钟
*/2 09-17 3,5 1 5 		##1月3日与1月5日周五早9-晚5每两分钟
*/2 09-17 * * 5			##每周五早9晚5每两分钟

2.系统控制crontab的服务

crond.service ##当程序开启时定时任务生效

3.crontab

crontab -e -u 			##编辑指定用户的任务
crontab	-l -u			##查看指定用户的任务
crontab -r -u	 		##删除指定用户的任务

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
4.文件方式设定定时任务(系统级crontab文件,只有root用户可以用)

vim /etc/cron.d/file
* * * * *	username	action
* * * * *	root		rm -fr /mnt/*

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
5.crontab的黑白名单

/etc/cron.deny			##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow			##系统中默认不存在的,当文件出现,普通用户不能执行crontab,只有名单中的用户才可以,并且/etc/cron.deny失效
						##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起即执行

黑名单:
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
白名单:
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务

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

cd /usr/lib/tmpfiles.d/
vim pp.conf
d	/mnt/westos	1777 root root 10s					##将文件内容定时删除

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*		##创建一个临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*		##清除一个临时文件

基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务
基于linux系统下的系统定时任务与延时任务