【1-16】系统定时任务及延迟任务
一、系统延时任务
at 23:37
##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> <EOT> ##ctrl+D 用ctrl+D发起任务
at now+1min
##延迟1分钟
at -l
查看任务列表
at -c 任务号
查看任务内容
at -r 任务号
取消任务执行
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u root
查看超级用户邮件
[root@node226 yum.repos.d]# dnf install mailx -y
[root@node226 yum.repos.d]# dnf install postfix -y
[root@node226 yum.repos.d]# systemctl enable --now postfix.service
1
查看第一封邮件
q
退出
> /var/spool/mail/root
清空邮件
二、at 任务的黑白名单
/etc/at.deny
系统中默认存在,在此文件中出现的用户不能执行at
对root无效。
对普通用户有效
su - westos
su - lee
/etc/at.allow
系统中默认不存在,当文件出现,普通用户不能执行at
.只有在名单中的用户可以,并且/etc/at.deny
失效
三、系统定时任务
/var/spool/cron/username
任务保存文件
1.crontab
时间表示方式
* * * * * #每分钟
*/2 * * * * #每两分钟
*/2 09-17 * * * #9-17点每两分钟
*/2 */2 * * * #每隔两小时执行1小时,执行的1小时中每2分钟执行1次
*/2 09-17 3,5 1 5 #1月中的每个周五,3号和5号执行,执行的从9-17点执行,每2分钟执行1次
*/2 09-17 * * 5 ##每周五9-17点,每2分钟执行1次
2.系统控制crontab服务
crontab.service
#当程序开启时任务生效
[root@node226 etc]# systemctl status crond.service
3.crontab
crontab -e -u
crontab -l -u
crontab -r -u
4.系统级别的cron(文件方式设定定时任务)
vim /etc/cron.d/file
#* * * * * username action
* * * * * root rm -fr /mnt/*
5.crontab的黑白名单
/etc/cron.deny
##系统中默认存在,在此文件中出现的用户不能执行crontab
[root@node226 mnt]# vim /etc/cron.deny
/etc/cron.allow
##系统中默认不存在,当文件出现 ,普通用户不能执行crontab
名单中的用户可以,并且/etc/at.deny
失效,
##这两个名单都不会影响/etc/cron.d/
目录中定时任务的发起及执行
四、系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 777 root root 8s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
[root@node226 westos]# touch /mnt/westos/444
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*