系统的延时及定时任务


1.延时任务

at 命令 发起的任务都是一次性的

at +time

下图表示在21:22分进行删除命令

运维学习之系统延时任务、定时任务以及临时文件的管理

运维学习之系统延时任务、定时任务以及临时文件的管理

命令

ctrl+d 表示发起动作

at -l | atq #查看当前任务

运维学习之系统延时任务、定时任务以及临时文件的管理at -d | atrm #取消指定任务

at -c #查看任务内容

运维学习之系统延时任务、定时任务以及临时文件的管理运维学习之系统延时任务、定时任务以及临时文件的管理由图二知主要执行touch这条命令

at now+1min #延迟一分钟

运维学习之系统延时任务、定时任务以及临时文件的管理at -f file #延迟执行文件中的内容

运维学习之系统延时任务、定时任务以及临时文件的管理有输出的命令会向任务发起人发送邮件

没有输出的命令不会像发起人发送邮件

at -m #延迟命令没有输出时仍然发送邮件给执行者,但邮件是空的

at -M #延迟命令有输出时但不发送邮件给执行者

运维学习之系统延时任务、定时任务以及临时文件的管理at 命令的执行权力的设定

 /etc/at.deny   #延迟任务用户黑名单,在此名单中出现的用户不能执行at命令

 /etc/at.allow  #延迟任务用户白名单,名单默认不存在,一旦出现,黑名单即失效

                  系统所有用户默认不能执行at命令,只有白名单中出现的才能够执行

运维学习之系统延时任务、定时任务以及临时文件的管理

2.定时计划

定时任务是永久的


##定时任务程序crond,在系统中每分钟做任务扫描


发起方式1:

crontab -u username      -e  建立定时任务

运维学习之系统延时任务、定时任务以及临时文件的管理

                    -r  删除定时任务

运维学习之系统延时任务、定时任务以及临时文件的管理系统自动生成定时任务文件

                    -l  查看定时任务

* * */2 * * #每隔两天

* * 01,15 * 6 #每月的1号,15号以及每周六

* 8-17/2 * * * #每天8点到17点,每隔两小时


发起方式2:

vim /etc/cron.d/filename

分钟 小时 天 月  周    用户     动作

 *   *   *  *  *    root rm -fr /mnt/*  #超级用户每分钟清理一次 /mnt 

运维学习之系统延时任务、定时任务以及临时文件的管理

crontab  命令的执行权力的设定

 /etc/crond.deny  #定时任务用户黑名单,在此名单中出现的用户不能执行crond命令

 /etc/crond.allow #定时用户白名单,名单默认不存在,一旦出现,黑名单即失效

                    系统用户默认不能执行crond命令,只有白名单中出现的才能执行

运维学习之系统延时任务、定时任务以及临时文件的管理系统临时文件

系统中服务在正常运行时会产生临时文件

/usr/lib/tmpfiles.d/*conf      #系统中临时文件的配置(必须以.conf 结尾)

文件类型     文件名称      文件权限   文件所有人  文件所有组  文件存在时间

d        /mnt/westos      777      root   root  10s

systemd-tmpfiles --create /usr/lib/tmpfiles.d/* #执行临时文件配置

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* #清理临时文件

运维学习之系统延时任务、定时任务以及临时文件的管理