Linux系统高阶操作之延时及定时任务
先针对定时任务及延时任务的概念做一个简单的区分:
定时任务是永久的,延时任务是临时的
下面来介绍定时及延时任务
一.系统延时任务
1.at相关命令
at 20:59 ##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> <EOT> <<ctrl+d ##用ctrl+D发起任务
at now+1min ##延时一分钟
at> rm -fr /mnt/*
at> <EOT>
at -l ##查看任务列表
at -c ##查看任务内容
at -r ##取消任务执行
注意:当有任务输出时,输出会以邮件的类型发送给at任务的发起者
> /var/spool/mail/root ##清空邮件
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出at
2.at任务的黑白名单
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能
执行at
/etc/at.allow ##系统中默认不存在,当文件出现普通用户不能
执行at,只有在名单中的用户可以,并且
/etc/at.deny失效
二.系统定时任务
1.crontab 时间表示方式
* * * * * / , -
分 时 天 月 周 每隔多久 几和几 从几到几
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早7晚5每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 5 ##1月的3号和5号,每周5,朝9晚5,每隔2分钟
*/2 09-17 * * 5 ##每周周五早9晚5
2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3.crontab相关命令
crontab -e -u 用户名 ##编写定时任务,文件保存在/var/spool/cron/用户名下,不加-u默认为命令行用户
crontab -l -u 用户名 ##查看指定用户定时任务
crontab -r -u 用户名 ##取消指定用户定时任务
4.文件方式设定定时任务
system status crond.service ##查看crond服务是否开启
vim /etc/cron.d/file ##写入定时任务
* * * * * uesrname action
时间 用户名 命令
5.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在的,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/at.deny失效
这俩个名单都不会影响/etc/cron.d/目录中定时任务的发起与执行
三.系统中临时文件的管理方式
1.cd /usr/lib/tmpfiles.d/
2.vim westos.conf
写入d /mnt/westos 777 root root 8s ##8s内不能被清除
3.systemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf ##让该文件生效
4.systemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf ##清除已超过保护时间的命令