定时任务与延时任务可以帮助我们更加方便的管理服务器。
一、系统延时任务(at)
1.基础内容
举个例子,先在个空文件夹创建 file{1…10}
最好在另一个窗口用watch监控空文件夹的文件
watch -n 1 ls -l /test/
安装at命令
yum install -y at
at 16:00 ##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> <EOT><< CTRL +D ##用ctrl+D发起任务
在16:00将删除/mnt/里所有文件
at now+1min ##延时1分钟
at> rm -fr /mnt/*
at> <EOT>
在一分钟后将删除/mnt/里所有文件
at -l ##查看任务列表
at -c 任务号 #查看任务内容
at -r 任务号 #取消任务执行
注意:
当任务有输出时,输出会以邮件的型式发送给at任务的发起者
Can’t open /var/run/atd.pid to signal atd. No atd running?
还有个小问题,atd没运行
把atd运行一下就好
其他的一些关于at命令的尝试
2.at任务的黑白名单
就是/etc/下的两个文件,增添删除用户名即可。
/etc/at.deny ##(黑名单)系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##(白名单)系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
二、系统定时任务
任务总会以邮件的形式保存在/var/spool/cron/username 文件中
1.时间定义格式
* * * * * 每分钟
*/2 * * * * 每两分钟
*/2 07-17 * * * 早7-晚5每两分钟
*/2 */2 * * * 每隔2小时每两分钟
*/2 09-17 * * 5 每周早9点到晚5点的每两分钟
*/2 09-17 3,5 1 5 1月的3号和5号以及每个星期五的早9点到晚5点每两分钟
2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3.crontab指令
crontab -e -u -e表示创建crontab任务,-u表示指定用户
crontab -l -u -l表示查看指定任务
crontab -r -u ``-r 表示取消crontab任务
4.系统级别的cron(文件方式设定定时任务)
5.crontab的黑白名单
与ta的原理相同
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab
##只有在名单中的用户可以,并且/etc/at.deny失效
##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
三、系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/ #临时文件存储路径
vim westos.conf #编辑文件,创建任务
cat westos.conf
d /mnt/westos 777 root root 8s
systemd-tmpfiles --create westos.conf #创建临时文件
touch /mnt/westos/file{1..4}
systemd-tmpfiles --clean westos.conf #清除临时文件
clean :清理,设置的令时文件没有超过8s的不会被清理。即8s时他的生命周期。
一般临时文件的清理可以用定时任务来清理如下