Linux从入门到精通——系统定时任务及延时任务

一.系统延时任务

使用的命令为:at

at 23:37             ##设定任务执行时间

at> rm -fr /mnt/*       ##任务动作at> <EOF>   <<ctrl +D    ##用ctrl+D发起



at now+1min           ##延时1分钟
at> rm -fr /mnt/*
at> <EOF>  



at -l                 ##查看任务列表
at -c   任务号          ##查看任务内容
at -r   任务号          ##取消任务执行


注意:
当任务有输出时,输出会以邮件的类型发送给at任务的发起者
mail -u root            ##查看超级用户邮件
1                    ##查看第一封邮件
q                  ##退出



> /var/spool/mail/root   ##清空邮件
vim /etc/at.deny        ##系统默认存在,在此文件中出现的用户不能执行at
vim /etc/at.allow        ##系统默认不存在,如果该文件存在,只有在该文件里的普通用户可以执行at命令,且默认不再读取at.deny


二.系统定时任务
1.crontab 时间表示方式
* * * * *
*/2 * * * *
*/2 09-17 * * *
*/2 */2 * * *


2.系统控制crontab的服务
crond.service      ##当程序开启时定时任务生效




3.crontab命令
crontab -e -u       ##编辑文件(edit),-u表示指定用户
crontab -l -u       ##显示文件(list)
crontab -r -u       ##删除文件(remove)

cat /var/spool/cron/xxx     ##编辑的文件实际地址


4.以文件方式设定定时任务
vim /etc/cron.d/file
* * * * *   username    action

root       rm -fr /mnt/*



echo "* * * * *       username        action" > /etc/cron.d/file


这种方式用crontab -e 是看不到文件内容的,只有超级用户才可以,而crontab对普通>用户也可以

5.crontab黑白名单
/etc/cron.deny     ##系统中默认存在,在此文件中出现的用户不能执行crontab
/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 --create /usr/lib/tmpfiles.d/*

猜你喜欢

转载自www.cnblogs.com/ChairmanYSL/p/9433772.html
今日推荐