Linux系统定时任务及延迟任务

1.系统延时任务

at 23:37                       ##设定任务执行时间
at> rm -fr /mnt/*                  ##任务动作
at> <CTRL +D                  ##用ctrl+D发起任务(设定任务后需要按ctrl+D来发起延时任务)
at -l                         ##查看任务列表
at -c 任务号                    ##查看任务内容
at -r 任务号                    ##取消任务执行
Linux系统定时任务及延迟任务
Linux系统定时任务及延迟任务
Linux系统定时任务及延迟任务
注意∶
1.当任务有输出时,输出会以邮件的型是发送给at任务的发起者
2.系统使用mail功能需要安装软件,安装软件的前提是需要软件仓库
Linux系统定时任务及延迟任务

  • dnf install postfix.x86_64 mailx.x86_64 -y
    Linux系统定时任务及延迟任务

  • systemctl enable --now postfix

  • systemctl status postfix
    Linux系统定时任务及延迟任务

  • mail                     ##查看系统的邮件

  • at now+1min               ##延时1分钟
    at> echo hello linux!
    at> < EOT >
    &邮件号                  ##查看第一封邮件
    &q                     ##退出
    &help                   ##查看帮助
    Linux系统定时任务及延迟任务

2.at任务的黑白名单

at命令默认所有用户可以执行

  • /etc/at.deny                    ##系统中默认存在,在此文件中出现的用户不能执行at
  • /etc/at.allow                    ##系统中默认不存在,当文件出现,普通用户不能执行
  • at                           ##只有在名单中的用户可以,并且/etc/at.deny失效
    注意:
        白名单等级高于黑名单,
        白名单创建之后系统中所有普通不能执行at命令只有在白名单中的用户是被允许的(理论上超级用户是不被限制的)
    Linux系统定时任务及延迟任务
    Linux系统定时任务及延迟任务
    Linux系统定时任务及延迟任务
    Linux系统定时任务及延迟任务

3.系统定时任务

(1) crontab时间表示方式
格式如下:
分钟 小时 天 月 周(空格隔开)
1,2表示1和2
1-5 表示1到5
1-5/2表示1到5,每隔两分钟
*/2 * * * *                     ##每两分钟
*/2 09-17 * * *                 ##早9-晚5每两分钟
*/2 */2 * * *.                    ##每隔2小时每两分钟
*/2 09-17 * * 5                  ##每周周五早9晚5

  • man 5 crontab                  ##查看帮助,键值的形式表示(0和7表示的都是周日)

(2) 系统控制crontab的服务

  • crond.service                  ##当程序开启时定时任务生效
    -/ var/ spool/ cron/username        ##任务保存文件
    Linux系统定时任务及延迟任务
    (3) 用户级的crontab命令
    编写规则:
    时间 动作

普通用户和超级用户可以执行:

  • crontab -e                  ##编辑任务
  • crontab -l                  ##列出任务
  • crontab -r                   ##删除任务
    Linux系统定时任务及延迟任务

Linux系统定时任务及延迟任务
Linux系统定时任务及延迟任务
Linux系统定时任务及延迟任务
注意: 只有超级用户可以指定用户,可以使用超级用户执行如下命令指定用户

  • crontab -e -u                 ##编辑任务

  • crontab -l -u                 ##列出任务

  • crontab -r -u                 ##删除任务

  • /etc/cron.deny                ##crontab黑名单

  • /etc/cron.deny                ##crontab白名单(等级高于黑名单,如果设定好白名单,只有白名单用户可以使用crontab)
    Linux系统定时任务及延迟任务
    Linux系统定时任务及延迟任务
    Linux系统定时任务及延迟任务
    (4) 系统级别的cron_(文件方式设定定时任务)
    系统级别的cron,只有超级用户可以编写
    因为是系统级别的,所以不能用crontab -l查看
    所在目录:

  • /etc/cron.d            ##在改目录下编写文件为系统级别的cron,只有root用户可以操作
    编写规则:
    时间   用户   动作
    Linux系统定时任务及延迟任务

(5) 临时文件的清理

  • systemd-tmpfiles                         ##管理临时文件
  • systemd-tmpfiles --cat-config                 ##用此命令可以查看临时文件建立的策略
    Linux系统定时任务及延迟任务

临时文件的编写规则:
编写位置:/lib/tmpfiles.d/XXX.conf                 ##/usr/lib/tmpfiles.d和/lib/tmpfiles.d内容是一样的
编写规则:文件类型 文件名称 文件权限 文件用户 文件用户组 文件生命周期
Linux系统定时任务及延迟任务

  • systemd-tmpfiles --create /lib/tmpfiles.d/qx.conf                   ##创建临时文件处理规则
  • systemd-tmpfiles --clean /lib/tmpfiles.d/qx.conf                  ##执行清理临时文件的规则
    Linux系统定时任务及延迟任务
上一篇:team talk 主要框架


下一篇:P4149 [IOI2011]Race 点分治