Linux(RadHat)基础学习—延时任务和定时任务

1.系统延时任务

1.at命令

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

at + time[回车]
指令1[回车]
指令2[回车]
...[回车]
按ctrl+d发起动作

例子1:

[root@xyz ~]# at 11:11       ##设定人物执行时间(当前用户是谁就是谁发起的任务)
at> rm -fr /mnt/*        ##延时动作(删除/mnt下所有内容)
at>                    ##ctrl+d发起动作

例子2:

[root@xyz ~]# at now+1min   ##设定人物执行时间为1分钟后
at> rm -fr /mnt/*       ##延时动作
at>             ##ctrl+d表示发起动作


2.一些at命令

at -l | atq         #查看当前任务
atrm  | at -d           #取消指定任务
at -c               #查看任务内容
at now+1min         #延迟一分钟
at -f file          #延迟执行文件中的内容
at -m               #延迟命令没有输出时仍然发送邮件给执行者
at -M               #延迟命令有输出时但不发送邮件给执行者

当任务有输出的时候,输出会以邮件的形式发送给at人物的发起人。
查看邮件:mail -u root
然后按数字选择查看第几封邮件,按q退出。


at 命令的黑白名单

/etc/at.deny        ##用户黑名单,在此名单中出现的用户不能执行at命令
/etc/at.allow       ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效,且普通用户不能执行at
        ##默认系统所有用户不能执行at,只有在名单中出现的用户可以使用at命令

2.系统定时任务

定时任务时永久的
定时任务程序crond,在系统中每分钟做任务扫描
系统控制crontab的服务
    crontab.service     ##当程序开启时定时任务生效

1.发起方式一:crontab命令

crontab -u username -e  [回车]    ##用户发起任务
crontab -u username -r  [回车]    ##删除任务
crontab -u username -l  [回车]    ##查看任务

输入执行任务:时间+动作

* * * * *
这五个*号分别表示分钟、时钟、日,月、周几

例如:

* * * * *  动作命令     #每分钟执行一次
* * */2 * * 动作命令        #每隔两天
* 08-17/2 * * * 动作命令        #8点到17点每隔2小时执行一次
*/2 09-17 * * * 动作命令        #每天9点到17点美隔2分钟执行一次
*/2 09-17 * * 5 动作命令        #每周周五9点到17点每2分钟执行一次
*/2 09-17 1 3,5 5 动作命令  #3月和5月的每周周五和每月1号9点到17点美2分钟执行一次

定时任务存储文件:
/var/spool/cron/目录下,有记录各个用户发起的定时任务的文件


2.发起方式二:文件设置

编辑新建文件:vim /etc/cron.d/filename

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

在 /etc/目录下有cron.daily、cron.hourly、cron.monthly 、cron.weekly 这几个文件
在这些文件下写执行命令,则会对应在每天、或每小时、或每月、或每周执行


crontab 命令的黑白名单

    /etc/cron.deny      ##用户黑名单,在此名单中出现的用户不能执行crontab命令
    /etc/cron.allow     ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效,只有在名单中的用户可以,并且/etc/at.deny失效
    ##这两个名单都不会影响在/etc/cron.d/目录中定时任务的执行。

3.系统临时文件的管理

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

编辑文件:
    vim /usr/lib/tmpfiles.d/westos.conf     ##系统中临时文件的配置

说明:

    d       /mnt/westos    777      root      root      10s
(1)文件类型      (2)文件名称    (3)文件权限  (4)文件所有人    (5)文件所有组    (6)文件存在时间

执行命令:

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

猜你喜欢

转载自blog.51cto.com/13885935/2153070