Linux系统的定时任务和延时任务

1.系统延时任务

at now+1min			##延时1分钟
at> touch file{1..10}
at> <EOT>
job 2 at Sun Jan 20 02:07:00 2019

监控/mnt/目录,创建1分钟后在/mnt/目录下建立10个文件的任务
在这里插入图片描述

at 02:10			##设定任务执行时间
at> rm -rf /mnt/		##任务动作
at> <EOT>			##用ctrl+D发起任务
job 3 at Sun Jan 20 02:10:00 2019
命令 用法
at -l 查看任务列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务执行

查看任务列表
在这里插入图片描述
查看任务内容
在这里插入图片描述
在这里插入图片描述
取消任务执行
在这里插入图片描述
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者

命令 用法
mail -u root 查看超级用户邮件
1 查看第一封邮件
q 退出

查看超级用户邮件
在这里插入图片描述

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

2.at任务的黑白名单

黑名单

/etc/at.deny			##系统中默认存在,在此文件中出现的用户不能执行at

添加用户‘student’到黑名单
在这里插入图片描述
保存退出
在这里插入图片描述
用户‘student’的权限已被限制
在这里插入图片描述
白名单

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

在这里插入图片描述
在黑名单,白名单之中都有用户‘student’。因为白名单的优先级高于黑名单,所以,用户‘student’的权限未被限制,而白名单中缺席的用户‘xiaoma’就不能随意使用‘at’了。

3.系统定时任务

1.crontab时间表示方式

|||| 周
*  |   *  |  *  | *  | *	##每分钟
*/2|   *  |  *  | *  | *	##每两分钟
*/2| 09-17|  *  | *  | *	##早9晚五中的每两分钟
*/2| */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		##当程序开启时定时任务生效

查看服务‘cron.service’的状态
在这里插入图片描述
3.crontab

crontab -e -u		##编辑,指定用户
crontab -l -u		##列表,指定用户
crontab -r -u		##取消定时任务,指定用户

crontab -e -u 编辑,指定用户

首先动态监控命令监控/mnt目录

watch -n 1 ls -l /mnt/*

在这里插入图片描述
设置定时任务
在这里插入图片描述
编辑任务内容
在这里插入图片描述
保存退出
在这里插入图片描述
实现效果
在这里插入图片描述
crontab -l -u 列表,指定用户
在这里插入图片描述
crontab -r -u 取消定时任务,指定用户
在这里插入图片描述
4.文件方式设定定时任务

vim /etc/cron.d/file
cat /etc/cron.d/file
* * * * * root	  rm -rf /mnt/*		##* * * * * usename action

编辑定时任务管理文件
在这里插入图片描述
/mnt目录下建立文件并监控
在这里插入图片描述
查看任务管理文件内容,确定任务编辑成功
在这里插入图片描述
查看效果
在这里插入图片描述
5.crontab的黑白名单

/etc/cron.deny		##系统中默认存在,在此文件中存在的用户不能执行crontab

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

黑名单
在这里插入图片描述
白名单
在这里插入图片描述
注意: 这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

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

系统的很多服务在运行时,会产生很多的临时文件,而对这些临时文件的清理的功能的配置文件在/usr/lib/tmpfiles.d/目录中。

如:系统临时文件夹/tmp/
vim /usr/lib/tmpfiles.d/tmp.conf
在这里插入图片描述
说明:/tmp目录,当临时文件的滞留时间大于10天时会被清理。

我们建立/mnt/tmp目录,滞留时间大于8s文件会被清理。

cd /usr/lib/tmpfiles.d/		##切换到指定目录
vim xiaoma.conf
d /mnt/tmp 777 root root 8s		##写入xiaoma.conf文件的内容

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*		##创建临时文件存目录
systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*		##清除滞留时间过长的临时文件

在这里插入图片描述
在这里插入图片描述
说明: 在/mnt/tmp目录下有两个文件file和file2,其中file文件的滞留时间大于8s,而file2文件的的滞留时间小于8s,执行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*。清除临时文件后,file文件被删除,保留file2文件。

猜你喜欢

转载自blog.csdn.net/qq_43570369/article/details/86571466