文章目录
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/目录中定时任务的发起和执行。
实验:
- deny存在,allow不存在,deny中写入pika用户,其不能执行crontab命令
- 建立编写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失效
实验:
-
原本有deny没有allow
-
没有编辑deny文件之前,pika可以执行at,将其加入at不行
-
建立编辑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依次被清除。