一、系统延时任务(临时的)
1.at任务
1)普通at任务
at 23:37 ##设定任务执行时间
at>rm -fr /mnt/* ##任务动作
at><EOT> << CTRL +D ##用ctrl+D发起任务
at now+1min ##延时1分钟执行命令
at>rm -fr /mnt/*
at><EOT>
2)at命令用法
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
3)有输出的at任务
at now+1min
at>echo hello
at><EOT>
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
2.at任务的黑白名单
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
二、系统定时任务(永久的)
1.crontab 时间表示方式
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 0-17 * * * ##早7点至晚5点每两分钟
*/2 */2 * * * ##每隔两小时每两分钟
*/2 09-17 3,5 1 5 ##3月和5月每周周五和及3月1日和5月1日每两分钟
*/2 09-17 * * 5 ##每周五早9点至晚5点每两分钟
2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3.crontab
crontab -e -u root ##编辑
crontab -l -u root ##显示
crontab -r -u root ##删除
anacron ##唤醒服务执行因关机或服务关闭后未执行的工作
4.文件方式设定定时任务
vim /etc/cron.d/file
* * * * * username action
* * * * * root rm -fr /mnt/*
注意:crontab -l 无法查看文件方式设定的定时任务
可采用非交互模式设定定时任务
echo "*/2 * * * * root rm -fr /mnt/*" > /etc/cron.d/file
非交互只有root生效
5.crontab的注意事项
6.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/cron.dent失效
注意:这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
三、系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 777 root root 5s ##配置临时文件目录/mnt/westos/(d表示格式)777的权限,用户为root,用户组为root组。临时文件目录中的文件存在5s后可以删除
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求建立临时文件目录
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求删除存在时间大于配置文件中设定时间的临时文件目录中的文件
注意:配置文件中生成的文件夹不会被删除,但是文件夹内的文件会被清空