系统定时任务&延时任务&临时文件管理

1. 系统定时任务

/var/spool/cron/username/ 任务保存文件

1.1 系统控制crontab的服务

systemctl status crond 等程序开启时定时任务生效

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

1.2 crontab的时间表示方式

* * * * *				每分钟
*/2 * * * *				每两分钟
*/2 09-17 * * *			早7-晚5每两分钟
*/2 */2 * * *			每隔两小时两分钟
*/2 09-17 * * 5			每个星期五早7-晚5每两分钟	

分 时 日 月 星期

1.3 crontab的命令

crontab -e -u username		开启指定用户定时
crontab -l -u username		查看指定用户定时任务
crontab -r -u username		删除指定用户定时任务

在这里插入图片描述

1.4 系统级别的cron(文件方式设定定时任务)

vim /etc/cron.d/file
* * * * * username action

在这里插入图片描述

1.5 系统级别的黑白名单

/etc/cron.deny		
系统中默认存在,再次文件中出现的用户不能执行crontab

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

注意:
这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行。

实验:

  1. deny存在,allow不存在,deny中写入pika用户,其不能执行crontab命令

在这里插入图片描述

  1. 建立编写allow文件,写入pika用户,deny失效,pika可以执行crontab命令,其他用户不可以

在这里插入图片描述

2. 系统延时任务

2.1 延时任务的发起

shell1:
watch -n 1 ls -lR /mnt 监控/mnt

shell2:

执行内容:at 10:10 > rm -fr /mnt/*
任务发起:> [ctrl]+[d]
查看任务队列: at -l
查看任务内容:at -c 任务号
取消任务执行:at -r 任务号
延时1分钟:at now+1min

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

2.2 当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中

安装mailx和postfix:

 dnf search mailx
 dnf install mailx.x86_64 -y
 dnf search postfix 
 dnf install postfix.x86_64 -y
 systemctl enable --now postfix
 systemctl status postfix

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

mail -u root	 	查看超级用户邮件
1		 		 	查看第一封邮件
headers		 	 	返回上一级
delete 邮件号     	删除邮件
q		 		 	退出

> /var/spool/mail/root   清空root用户邮件

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

2.3 at任务的黑白名单

/etc/at.deny	
系统中默认存在,在此文件中出现的用户不能执行at

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

实验:

  1. 原本有deny没有allow
    在这里插入图片描述

  2. 没有编辑deny文件之前,pika可以执行at,将其加入at不行
    在这里插入图片描述

  3. 建立编辑allow文件,将pika加入其中,deny文件失效,pika可以执行at
    在这里插入图片描述

3. 系统中临时文件的管理方式

  • 系统中服务在正常运行时会产生临时文件,
  • 存放目录:/usr/lib/tmpfiles.d/
  • 系统的临时文件配置: /usr/lib/tmpfiles.d/*.conf
  • 临时文件配置的编写方式是:
文件类型 文件名    文件权限 文件所有人 文件所有组 文件存在的时间
d 		/mnt/tmp    777     root        root       10s

表示在/mnt目录下创建临时目录tmp,并且十秒内不能被删除 (当文件创建10s之后才可以被删除)

shell 1:
watch -n l ls -lR /mnt

shell 2:

cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 777 root root 8
systemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf
touch /mnt/westos/file111
touch /mnt/westos/file222
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf
每过8s执行此命令file1、file2依次被清除。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46074899/article/details/109593717