第一章、系统延迟任务与定时任务

1.延迟任务

在系统中我们的维护工作大多数时在服务器行对闲置时进行
我们需要用延迟任务来解决自动进行的一次性的维护
延迟任务时一次性的,不会重复执行
当延迟任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者
在RHEL9中默认系统中的所有普通用户都可以发起延时任务

1.1命令:
at 参数 时间

1.2参数
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
1.3白名单与黑名单

黑名单(at.deny)默认存在,在名单中的用户不能执行at命令,

白名单(at.allow)默认不存在,但是当白名单出现时,黑名单将不会被检测,并且只有在白名单中出现的用户才可以使用at命令

2.定时任务

和延迟任务类似,我们可以用crontab来解决自动进行的周期性的维护
定时任务类似手机闹钟,会重复执行
当定时任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者
在RHEL9中默认系统中的所有普通用户都可以发起定时任务

2.1周期任务发起方式

2.1.1命令
crontab –u 用户 –e
2.1.2参数
-u:用来设定某个用户的crontab服务此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件
-i:在删除用户的crontab文件时给确认提示。

crontab 在设定定时任务是会以vi命令打开临时文件在保存时会把内容同步到/var/spool/cron中

2.1.3白名单与黑名单

黑名单(cron.deny)默认存在,在名单中的用户不能执行crontab命令,

白名单(cron.allow)默认不存在,但是当白名单出现时,黑名单将不会被检测,并且只有在白名单中出现的用户才可以使用crontab命令

2.2系统级别的周期任务

crontab目录

我们进入到自定义系统的目录下,建立文件设置命令

我们建立一个/etc/cron.work

mkdir /etc/cron.work

编辑自定义文件

在该文件夹/etc/cron.work/touch.sh下编写任务

提升运行的权限

chmod +x /etc/cron.work/touch.sh

2.3定时邮件

首先下载

dnf install postfix s-nail -y

接着启动

systemctl start postfix

我们设定一分钟后发送邮件

然后我们查看

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部