定时任务(永久性的)、延时任务(一次性的)。
**
一、延时任务:
**
在虚拟机desktop里面做。
(1)at 时间点
at> 任务内容 ctrl+d任务发起。
(2)at now+1min延时1分钟
at > 延时任务
at> ctrl+d退出
(3)at -l看到任务号
at -c 2 2是任务号
at -r 2 取消任务执行
(4)mail查看邮件,当任务有输出(有输出的命令才会有邮件)!!!时,输出会以邮件的形式发送给at用户的发起者。
mail -u root 查看超级用户邮件
1 查看第一封邮件
q退出
/var/spool/mail/root 清空邮件(这个路径在查看邮件时会出现邮件的路径)
(4)at命令的黑白名单:
黑名单:默认存在文件/etc/at.deny,在此名单中出现的用户时不能执行at命令
白名单存在时,黑名单失效 /etc/at.allow 这个文件默认不存在,需要我们去创建,即便是黑名单中有白名单存在的用户
我们可以通过man 5 at.deny来查看黑白名单之间的关系。
超级用户不受限制,他只是管理。
**
二、系统定时任务
**
(最小单位是分钟)
(1)man 5 crontab 查看时间所表示的范围
使用命令 crondtab
(2)crontab 时间表示方式(/表示每多少,-表示几点到几点,,表示什么和什么)
分钟 小时 几号 月份 周
* * * * * | 每分钟 |
---|---|
*/2 * * * * | 每两分钟 |
*/2 09-17 * * * | 早9-晚5每两分钟 |
*/2 */2 * * * | 每隔2小时每两分钟 |
*/2 09-17 3,5 1 5 | 1月的3、5号和每周周五的9-17点每两分钟 |
*/2 09-17 * * 5 | 每周周五早9晚5 |
(3)crontab 命令
crontab -u root -e | 编辑crontab |
---|---|
crontab -l -u root | 列出crontab |
crontab -r -u root | 删除crontab |
(4)通过/var/spool/cron/ ls 可以查看到实施任务的用户,vim 用户,可以查看到任务内容
这个服务是systrmctl restart crond.service(status查看状态,stop关闭)
在执行这个crontab命令时,这个命令要开启
三、文件方式设定定时任务
(1)vim /etc/cron.d/file(文件名) ##file名称任意
不同文件名下,设置的意思不同,
/etc/cron.d/ 这个是每分钟
/etc/cron.deny/
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
* * * * * | username action |
---|---|
* * * * * | root rm -fr /mnt/* |
* * * * * | westos touch /home/westos/file{1…10} |
(2)crontab的黑白名单
vim /etc/cron.deny 黑名单:##系统中默认存在,在此文件中出现的用户不能执行crontab(黑名单)
vim /etc/cron.allow 白名单: ##系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/at.deny失效
这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
四、系统中临时文件的管理方式
(1)cd /usr/lib/tmpfiles.d/ 在这个目录下面创建临时文件
##vim westos.conf
(文件所写内容)d /mnt/westos 777 root root 5s ##会自动建立/mnt/westos
#touch /mnt/westos/file
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##读取里面所有文件并按照其规则去建立
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理临时文件,目录清理不了(所设定的时间到了之后才会清理)
我们可以动态监控,watch -n 1 ls -lR /mnt/westos 监控这个目录以及子目录子文件
#####tmp存放临时文件,对于存放的文件定期进行清理,有生命周期,所以不会空间不足#####