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的命令,是到了生命周期以后才可以删除,这样就会更加安全
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值