Linux学习之路
Linux系统延时任务及定时任务
1.系统延时任务
at 23:37 //设定任务执行时间
at> rm -fr /mnt/* //任务动作
at> <EOT> //CTRL +D ##用ctrl+D发起任务
at -l //查看任务列表
at -c 任务号 //查看任务内容
at -r 任务号 //取消任务执行
[root@localhost ~]# at now+1min //延时1分钟
at> rm -fr /mnt/*
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失效
//超级用户不受/etc/at.deny与/etc/at.allow文件的限制。
3.系统定时任务
crontab 时间表示方式
时间表示形式:分钟 小时 天 月 周
如果*表示某一位,就代表是每一个
用逗号表示某一位,比如“1,2,5”就表示单独指定“1和2和5”
用-表示某一位,比如“1-4”就代表时间段“1-4”
用/表示某一位,比如小时位用“0-23/2”就代表0至23时每隔两小时,在小时位*/2表示每隔两小时
* * * * * 每分钟
*/2 * * * * 每两分钟
*/2 09-17 * * * 早9-晚5每两分钟
*/2 */2 * * * 每隔2小时每两分钟
*/2 09-17 3,5 1 5 表示1月3日和5日以及1月每个星期5的早9点-晚5点的每隔两分钟
*/2 09-17 * * 5 每月的每周周五早9晚5的每隔两分钟
系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
crontab命令
crontab -e -u
crontab -l -u
crontab -r -u
系统级别的cron(文件方式设定定时任务)
vim /etc/cron.d/file
* * * * * username action
* * * * * root rm -fr /mnt/*
crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab
##只有在名单中的用户可以,并且/etc/at.deny失效
##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
4.系统中临时文件的管理方式
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/*