ssh连接后,使用watch -n1 ls -lR /mnt
进行监控
在企业8环境下进行实验
延迟任务
1.延迟任务的发起
- at 16:39
- rm -fr /mnt/* 执行内容,[ctrl]+[d] 任务发起
2.at命令
命令 | 作用 |
---|---|
at -l | 查看任务队列 |
at -c | 查看任务内容 |
at -r | 取消任务 |
- at -l
- 使用at -c 2命令的时候,要注意此时的所查看的任务内容一定要是还未发生过的
//任务2是16:43
[root@haha ~]# at 16:43
warning: commands will be executed using /bin/sh
at> rm -fr /mnt/*
at> <EOT>
job 2 at Mon Mar 2 16:43:00 2020
//任务3是16:44
[root@haha ~]# at 16:44
warning: commands will be executed using /bin/sh
at> rm -fr /mnt/*
at> <EOT>
job 3 at Mon Mar 2 16:44:00 2020
[root@haha ~]#
//使用at命令尽行查看
[root@haha ~]# at -l
3 Mon Mar 2 16:44:00 2020 a root
//注意:此处因为时间已经在16:44了,任务2已经完成了,所以显示不能找到此任务
[root@haha ~]# at -c 2
Cannot find jobid 2
以下是在任务内容还没发生过,使用at -c 5进行查看
3.当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中
- 安装后要记得开启功能
dnf install mailx postfix
//开启功能
systemctl start postfix.service
systemctl enable postifx.service
- mail root尝试发送一下邮件,如果显示未发送成功,就先确认下自己的功能是否打开了
注意:" . "表示结束
命令 | 作用 |
---|---|
查看邮件 | |
mail -u root | 查看root用户的邮件 |
- 小练习
>/var/mail/root ##清空root邮件
timedatectl :此命令有输出但不会显示到字符设备中,此命令输出会用邮件发送给at发起人
timedatectl :此命令有输出但不会显示到字符设备中,此命令输出会用邮件发送给at发起人
4.at命令的控制
命令 | 作用 |
---|---|
/etc/at.deny | at控制黑名单,此名单中的人不能执行at |
/etc/at.allow | 此文件默认不存在 |
注意:
- 当/etc/at.allow存在,则/etc/at.deny不生效
- 当/etc/at.allow存在,系统普通用户默认不能执行at,只有在名单中的人可以
实践练习:
1.有关/etc/at.deny
-
切换用户到westos和lee下,此时能完成
-
vim /etc/at.deny
将用户lee加入黑名单后,此时westos可以,lee就不可以了
2.有关/etc/at.allow -
在root用户下创建文件,切换到westos用户下,此时会发现被拒绝了
-
将lee写入白名单中,我们可以发现westos不可以执行,lee可以执行
我们可以发现此时lee既在白名单又在黑名单,说明了at.allow存在时,at.deny不生效
我们使用man 5 at.deny也可以发现
定时任务
crond :定时任务服务
1.设定方式
1.1命令设定方式(用户级别定时任务)
-u 表示指定发起用户 ,-e表示去编辑他的任务
命令 | 作用 |
---|---|
crontab -u root -e | 设定 |
crontab -u root -l | 查看 |
crontab -u root -r | 删除 |
/var/spool/cron/root | 任务存储位置 |
实践练习:
有关如何设置:
- man 5 crontab查看
- 练习
时间 | 任务 |
---|---|
分钟 小时 天 月 周 | 系统命令/脚本 |
08-17 * * * * | 每天每小时08分-17分 |
08-17 * * * 3,5 | 每周3和 周五每小时08分-17分 |
08-17/2 * * 3,5 | 每周3和周五每小时08分-17分时间段每隔2分钟 |
08-17/2 10 * * 3,5 | 周3和周五10点08分-17分时间段每4隔2分钟 |
08-17/2 10 5 * 3,5 | 每周3和周五及每月5号10点08分-17分时间段每隔2分钟 |
08-17/2 10 5 3 3,5 | 3月每周3和周五及3月5号10点08分-17分时间段每隔2分钟 |
1.2配置文件方式设定(系统级别cron,只有超级用户可操作)
/etc/cron.d | 系统级别cron设定文件存放路径 |
---|---|
/etc/cron.d/westos | cron设定文件 |
/etc/cron.daily/ | 每天任务 |
/etc/cron.hourly/ | 每小时任务 |
/etc/cron.monthly/ | 每月任务 |
/etc/cron.weekly/ | 每周执行动作 |
-
vim /etc/cron.d/0hourly
-
vim /etc/cron.d/westos
我们可以试验下,看看是否能达到每分钟删除一次。
20:30此时/mnt里面有创建好的5个文件,20:31此时文件都被删除了
-
练习一个每小时执行的脚本
别忘记给他一个权限
[root@haha cron.daily]# cd /etc/cron.hourly
[root@haha cron.hourly]# ls
0anacron
[root@haha cron.hourly]# vim clean_mnt
[root@haha cron.hourly]# chmod +x clean_mnt
[root@haha cron.hourly]# cat clean_mnt
rm -fr /mnt/*
[root@haha cron.hourly]# ls
0anacron clean_mnt
[root@haha cron.hourly]#
0anacron检测漏执行任务的工具
2.用户级别crond控制设定
命令 | 作用 |
---|---|
vim /etc/cron.deny | cron用户黑名单,用法同at.deny |
vim /etc/cron.allow | cron白名单,用法同at.allow |