linux之延时定时任务
- at命令
作用:延时设定任务延时任务,该任务只执行一次。
at 18:02 ##在18:02分执行
at> mkdir /Desktop/dir ##执行的命令
at> <EOF> ##CTRL+D保存退出
at now+1min ##现在开始延时1min
at> rm -fr /Desktop/dir ##执行的命令
at> <EOT> ##CTRL+D保存退出
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
at黑名单的设定
vim /etc/at.deny ##黑名单 系统中默认存在,在此文件中出现的用户不能执行at
at白名单
/etc/at.allow ##白名单 系统中默认不存在,需要自行创建
注意:当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
- mail命令
作用:当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者。
mail -u root ##查看超级用户的邮件
1 ##查看第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
-
crontab命令
作用:定时设定任务命令
设定格式:
* * * * * ##每分钟
每个*分别代表
每隔x分钟 几点到几点 哪一天 哪个月 周几
crontab -e -u ##设定
crontab -l -u ##查看
crontab -r -u ##删除
文件方式设定定时任务:
注意:crontab由crond.service 服务控制。当该服务开启时,所设定的定时任务才能生效。且文件设定定时任务不受黑白名单的影响。
crontab黑名单
vim /etc/cron.deny ##黑名单 系统中默认存在,在此文件中出现的用户不能执行crontab
crontab白名单
/etc/cron.allow ##白名单 系统中默认不存在,须自行创建
注意:当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/cron.deny失效
-
系统临时文件管理
临时文件都存在有效期,当其有效期过了之后就可诶被清理,但是有效期没过就不能被清理。所以设置定时任务对系统的临时文件进行清理,在每次清理时过期的文件会被清理掉,只要设置合适的清理周期,就能保证系统中临时文件不会占用大量资源。
系统临时文件设管理的目录在/usr/lib/tmpfiles.d
cd /usr/lib/tmpfiles.d ##切换到管理目录
ls ##查看
vim westos.conf ##创建一个自定义的临时文件管理文件
d /mnt/shiyan 777 root root 10s ##清除在/mnt/shiyan/目录下创建超过10s的文件
systemd-tmpfiles是系统用来创建、管理、删除临时文件的命令。
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##编写一个临时目录的规范文件,并扫描该规范文件创造出该目录
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理
实验:
END