Linux系统延时及定时任务

1.系统延时任务在虚拟机中进行操作
1.1两种设定方式

[root@localhost ~]# at 21:45            ##设定任务执行时间
at> touch /root/Desktop/file{1..5}     ##任务动作
at> <EOF>                                            ##用ctrl+D发起任务

在这里插入图片描述

[root@localhost ~]# at  now+1min      ##延时1分钟
at> rm -fr /root/Desktop/file{1..5}         ##查看任务内容
at> <EOF>                                             ##用ctrl+D发起任务

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

mail -u root     ##查看超级用户邮件
1                     ##查看第一封邮件
q                     ##退出
>  /var/spool/mail/root   ##清空邮件

mail -u root 只有在任务有输出时,输出会以邮件的形式发给at任务的发起者
在这里插入图片描述
1.2 at任务的黑白名单

 /etc/at.deny    ##系统中会默认存在,在此文件中出现的用户不能执行at;但默认情况下,此文件中为空白,所以默认情况下为所有用户都可以执行at
 /etc/at.allow    ##系统中默认不存在,当文件出现,只有在白名单中的用户(超级用户除外)不能执行at命令,并且当/etc/at.allow存在时,/etc/at.deny失效;

################################################################
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
################################################################在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
################################################################
2.系统定时任务
2.1 crontab 时间表示形式 可以使用man 5 contab查看相关命令
分钟 小时 天 月 周

* * * * * *                           ##每分钟执行
* /2 * * * *                        ##每两分钟执行一次
*/2 09-17 * * *                ##早上九点-晚上5点每两分钟执行
* /2 * /2 * * *                   ##每隔2小时每两分钟执行
* /2 09-17 3,5 1 5      ##1月3号和1月5号早上9点到晚上5点以及每周五点执行一次
* /2 09-17 * * 5             ##每周周五早上9点到晚上5点

2.2 系统控制contab的服务

crond.service                             ##当程序开启时定时任务生效
systemctl status crond.service ##查看定时任务的状态
systemctl start crond.service    ##开启定时任务
systemctl stop crond.service     ##关闭定时任务
systemctl status crond.service ##查看定时任务的状态

在这里插入图片描述
2.3系统控制crontab的服务

crontab  -e    ##打开文件后,输入后退出保存即可
crontab         ##回车后直接在下面输入任务后ctrl+d任务开始执行
crontab -l -u  root ##查看当前任务列表
cd /var/spool/cron/ -> ls ##查看当前任务
crontab  -r -u root  ##删除所有任务
crontab -e         ##可以删除指定的任务
crontab  -e    ##打开文件后,输入后退出保存即可

在这里插入图片描述

crontab -l -u  root ##查看当前任务列表

在这里插入图片描述

cd /var/spool/cron/ -> ls ##查看当前任务

在这里插入图片描述

2.4文件方式设定定时任务

vim /etc/cron.d/file  ##打开文件任务,相比于at的任务编写文件多了指定用户这一项

在这里插入图片描述
在这里插入图片描述

cd /etc/cron.daily  -> ls    ##查看每天执行的任务
/etc/cron.hourly     -> ls    ##查看每小时执行的任务
/etc/cron.monthly  -> ls    ##查看每个月执行的任务

在这里插入图片描述

3.crontab的黑白名单

/etc/cron.deny   ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow  ##系统中默认不存在,当文件出现,普通用户不能执行crontab
只有在白名单中的用户可以执行,并且/etc/cron.deny失效

黑名单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
白名单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行
4.系统中临时文件的管理方式

cd /usr/lib/tmpfiles.d/  ->ls
vim westos.conf   ##按照上述目录下的文件tmp.conf为模板,写入:
d  /mnt/westos  777  root root 8s

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
存在多长时间的文件会被清理取决于westos.conf中设定的时间
在这里插入图片描述

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
systemd-tmpfiles --clean /usr/lib/tmpfiles.f/*

操作:再打开一个shell进行监控

watch -n 1 "ls -Rl /mnt/"

在另一个shell中执行,看监控shell中的效果

cd   /usr/lib/tmpfiles.d/ 
vim westos.conf  ##写入以下文本
/mnt/westos 777 root root 8s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf'
touch /mnt/westos/file
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf   ##清理刚刚创建的file;该命令执行时,file存在的时间必须达到设定的清理时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值