##1.系统延时任务##
[root@localhost ~] at 23.23 ##设定任务执行时间
at> rm -rf /mnt/* ##任务动作
at> <EOF> << ctrl +d ##用ctrl+d发起任务
[root@localhost ~] at now+1min ##延时1分钟
at> rm -rf /mnt/*
at> <EOF>
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
注意:当任务有输出时,输出以邮件的形式发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
##2.at任务的黑白名单##
/etc/at.deny ##系统中默认存在,此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at
只有在名单中的用户可以,并且/etc/at.deny失效
##3.系统定时任务##
1.crontab 时间表示方式
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17* * * ##早9-晚5每两分钟
*/2 */2 * * * ##每隔两小时每两分钟
*/2 09-17 3,5 1 5 ##3月和5月每周周五及3月1日和5月1日早9-晚5每隔两小时每两分钟
*/2 09-17 * * 5 ##每周周五早9晚5每两分钟
2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3.crontab
crontab -e -u
crontab -l -u
crontab -r -u
Crontab 格式
使用crontab -e 添加要执行的命令。
添加的命令必须以如下格式:
* * * * * /command path
前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。
前5个字段分别表示:
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
一些特殊符号:
*: 表示任何时刻
,: 表示分割
-:表示一个段,如第二段里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
4.文件方式设定定时任务
vim /etc/cron.d/file
* * * * * username action
* * * * * root rm -rf /mnt/*
5.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab
只有在名单中的用户可以,并且/etc/cron.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/*