11.4linux系统延时及定时任务

在linux系统中,敲出一行代码会立刻执行,我们时希望在一定的时间后或者在特定的时间执行一些命令,这就需要linux系统的延时和定时命令

一.系统延时任务

1.at命令

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

at+时间       ##指定命令执行的时间

[root@server mnt]# at 20.51    ##20:51执行命令
at> rm -fr *                             ##命令--删除所有能容
at> <EOT>                             ##按ctrl+d ,结束命令

at    -l        ## 查看当前任务    

at    -d  3    ## 取消还未执行的任务(3:at  -l所看到的任务号)

atrm    4     ##取消还未执行的任务(4:at -l所看到的任务号) 

at    now+1 ##延时1分钟执行

at    -f        ##延时执行文件中的内容 

at    -m        ##延迟命令没有输出的情况下发邮件给执行者 

at    -M        ## 延迟命令没有输出的情况下不发邮件给执行者 

实验:延时1分钟,在/mnt目录下创建一个名位ccj的文件

2.at命令的执行权力设定

黑名单:

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

白名单:

/etc/at.allow    ##用户的白名单,一般不存在,需要自己创建。

##如果白名单一旦存在,系统中所有的用户默认不能执行at命令,只有在名单中出现的用户可以使用at命令

二、定时任务

##定时任务是永久的

1.方法1

crontab  -u  username  -e    ##编写定时任务

crontab  -u  username  -r    ##删除定时任务

crontab  -u  username  -l    ##查看定时任务

* * * * *                      ##每分钟
*/2 * * * *                   ##每两分钟
*/2 09-17 * * *            ##早7-晚5每两分钟
*/2 */2 * * *                ##每隔2小时每两分钟
*/2 09-17 3,5 1 5      ##3月和5月每周周五及3月1日和5月1日每两分钟
*/2 09-17 * * 5            ##每周周五早9晚5每两分钟

一共是五个星号:

1:分钟

2:小时

3:天

4:月

5:周

2.方法2

vim /etc/cron.d/filename

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

3.crontab命令的执行权力设定

/etc/cron.deny        ##用户黑名单,在此名单中出现的用户不能执行crontab命令

/etc/cron.allow        ##用户的白名单,一般不存在,需要自己创建。

##如果白名单一旦存在,系统中所有的用户默认不能执行crontab命令,只有在名单中出现的用户可以使用crontab命令

三.系统临时文件的管理

系统中,服务在正常运行中都会产生临时文件 ,临时文件的配置文件所在的目录/usr/lib/tmpfiles.d/,都是以conf后缀名

10

vim /usr/lib/tmpfiles.d/*.conf    ##新的临时文件的配置文件

d                /mnt/                             777         root        root          10s

文件类型    临时文件所在的目录      权限      拥有人  所属组   文件存在的时间

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

猜你喜欢

转载自blog.csdn.net/qq_41627390/article/details/83756506