失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux下的定时任务和延时任务

Linux下的定时任务和延时任务

时间:2019-04-11 01:52:30

相关推荐

Linux下的定时任务和延时任务

系统定时任务及延时任务

延时任务是临时的服务器的维护是在服务器用户最少的时候进行运维,因此需要设置定时任务,通过编写脚本自动在设定的时间内进行运维

【1】设定延时任务

开启监控:watch -n 1 ls -l /mnt #监控命令

*设置延时

at 09:38 #设定延时命令

at> touch /mnt/westosfile{1…5} #任务是9:59创建/mnt/westosfile{1…5}

at> #设定在九点二十的时候删除掉/mnt/里面的所有文件 #+

相关命令

at

-l#查看任务,其中有任务号

-c任务号 #查看任务内容

-r任务号 #取消任务

[root@localhost Desktop]# at -l #查看任务,其中包含任务号

[root@localhost Desktop]# at -c 1 #查看任务中的内容

[root@localhost Desktop]# at -r 1 #删除任务中的内容

如果延时任务中存在输出,那么shell中到了指定时间是看不见输出结果的,系统默认发送任务结果至mail中,因此需要安装mail相关的软件

[root@localhost yum.repos.d]# dnf install postfix.x86_64 mailx.x86_64 -y #安装邮件服务和邮件查看工具,首先需要配置好自己的软件源

[root@localhost yum.repos.d]# systemctl enable --now postfix #开启邮件服务

[root@localhost yum.repos.d]# at now+2min #现在的两分钟后设定echo hello westos 输出hello westos,< EOT >完成延时任务后等待两分钟,在mail中查看

[root@localhost yum.repos.d]# mail #查看邮件,要看第几封邮件就写几,此时需要查看第一封邮件,写1查看,< Ctrl >+< d >结束查看邮件

at 命令的使用用户为所有命令,所以会有一些不安全,如果大家都执行,那么系统负载就很大

/etc/at.deny为邮件黑名单:只有黑名单中的用户不被允许

/etc/at.allow为邮件白名单:只有在白名单的用户被允许当白名单存在的时候,黑名单是不被查看的,只有在白名单不存在的时候,系统才会查看黑名单黑名单,白名单的实际意义就是用户列表,所以使用的时候直接vim /etc/at.allow /etc/at.deny名单,将用户写入保存退出即可超级用户不进行特殊设置是没有权力的限制的

【2】定时任务的设定

定时任务:在规定时间内做指定事情开启crond.service服务 *一般都是默认开启的

systemctl enable --now crond.service

(1)用户级别的定时任务设定

crontab -e 编写定时方式crontab时间表示方式

顺序依次为:分钟 小时 日 月 周

[root@localhost mnt]# crontab -e #编写定时任务文件,本次设定的任务是每隔一分钟清理一次/mnt/目录

[root@localhost mnt]# crontab -l #查看定时任务

[root@localhost mnt]# crontab -e -u root #指定用户进行定时任务设定,但是这个功能仅限于root用户进行指定用户

定时任务的黑白名单用法与延时任务的黑白名单用法一致

/etc/cron.deny定时任务的黑名单

/etc/cron.allow定时任务的白名单

黑名单:

白名单:

(2)系统级别的定时任务设定

cd/etc/cron.d#系统级crontab的路径

vim 名字随意(但必须在这个目录中写才可以识别)

** * * * * * root touch /mnt/westosfile{1…10} ** #每分钟root创建/mnt/westosfile{1…10}

注意:用crontab -l 等命令是查看不到的

【3】临时文件的管理

临时文件是有生命周期的,对于超出生命期限的文件需要被清理

临时文件所在的位置:/lib/tmpfiles.d

自己写临时文件:vim westos.conf

d /mnt/westos 1777 root root 5s

(文件类型 文件名称 文件权限 文件用户 文件用户组 文件生命周期)

systemd-tmpfiles create /lib/tmpfile.d/westos.conf 建立刚才写的临时文件

touch /mnt/westos/westosfile #创建文件

systemd-tmpfiles --clean /lib/tmpfile.d/westos.conf 清理临时文件,到了生命周期以后才能被清理

注意:监控命令是ls -lR/mnt 删除的是目录下的文件和rm命令的不同点在于,rm是所有文件都可以在执行命令后删除,但是转换成临时文件用–clean的命令,是到了生命周期以后才可以删除,这样就会更加安全

如果觉得《Linux下的定时任务和延时任务》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。