linux中的延时与定时任务

################

#######at#######

################

 

#1.at命令的基本用法

 

[root@foundation60 ~]# at 10:00

at> echo hellp world

at> <EOT>

job 5 at Wed Nov  1 10:00:00 2017

[root@foundation60 ~]#

 

at -l                     #列出延迟任务id


at -r  任务id             #删除此id对应的任务


at -m                     #让无输出的命令产生邮件               

at -M                     #让有输出的命令不产生邮件

at -c  任务id             #查看此id对应的延时任务的执行动作


at -f                     #用文件内记录的命令作为延时任务的的执行命令

 

 

#at命令的使用控制

默认系统中全部用户都有执行at命令的权力,那么如何设定at命令的黑白名单:

 

#黑名单

默认情况下,系统中是存在用户黑名单的

/etc/at.deny            #用户黑名单,此名单默认为空,并且在白名单不存在时生效

vim /etc/at.deny

student                  #stdent不能执行at命令


黑名单中写了kiosk因此用户kiosk不能执行at命令。


但westos用户可以执行at命令。



#白名单

默认系统中时不存在at的白名单的

但是当白名单出现时,系统出名单中出现的用户以及root用户

其他用户均不能执行at命令

 

touch /etc/at.allow      #建立用户白名单,当白名单出现,黑名单失效

建立白名单,并在其中写入kiosk,尽管黑名单中有kiosk用户仍可以执行at命令。

 

westos用户不能执行at命令。


#################

######cron#######

#################

 

#1)这个程序是由

##crond.service服务提供

 

#2)写入程序的时间和事件是永久保存的

 

cron设定方式

方法1

crontab  -e  -u  用户名称(可以不写)

分钟    小时                事件

58      06      *     *     *     rm -fr /mnt/*  #每天6:58删除mnt中的所有内容

58      06      1,15  *     *     rm -fr /mnt/*  #每月1号和15号的6:58删除mnt中的所有内容

58      06      1-15  *     *     rm -fr /mnt/*  #每月1号到15号的6:58删除mnt中的所有内容

58      06      1,15  3     *     rm -fr /mnt/*  #3月1号和15号的6:58删除mnt中的所有内容

58      06      1,15  3     3     rm -fr /mnt/*  #3月1号和15号以及3月的所有周三删除mnt中的所有内容

58      06-17   *     *     *     rm -fr /mnt/*  #6-17点,每个小时的58分删除mnt中的所有内容

*/30    06-17   *     *     1-5   rm -fr /mnt/*  #周一到周五的6-17点每个半小时删除mnt中的所有内容一次

root用户给自己创建定时任务。


root用户给kiosk用户创建定时任务。



crontab  -l              ##列出当前用户的cron任务


crontab  -r              ##删除当前用户的cron任务


 

/var/spool/cron/*        ##cron任务记录文件存放位置

 

##2.cron的黑白名单

 

#黑名单

默认情况下,系统中只存在黑名单,当白名单被建立时,黑名单失效

 

vim /etc/cron.deny

student                  ##student用户不能执行crontab

 

 

#白名单

 

/etc/cron.allow          #用户白名单,当此名单出现时,出root用户及名单内出现的用户外,其他用户均不可执行crontab

 

touch /etc/cron.allow

 

vim /etc/cron.allow

westos                   #westos用户可以执行crontab

 

##3.文件夹方式定义crontab

 

vim /var/spool/cron/用户名称      #以某个用户身份执行cron,文件名称必须和用户名称一致

              动作  

用root用户给kiosk用户下达定时任务,每天00:00清除系统日志。

 

vim /etc/cron.d/文件.sh

                用户    动作  #设定多个用户身份执行cron

用root用户给root用户和kiosk用户分别下达定时任务。root每分钟touch下/tmp/root文件,kiosk每分钟touch下/tmp/kiosk/文件

 


[root@foundation60 ~]# cat cron.sh

#!/bin/bash

#cat >>/etc/crod.sh/westos <<EOF

#* * * * * root touch /tmp/file{1,2}

#* * * * * student touch /tmp/file{3,4}

#EOF

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值