Linux基础之定时任务

Linux定时任务

Linux系统的定时任务用于在系统中定时的执行一些命令或脚本。一般常用的是at,crontab

延时命令at

at命令是系统延时任务发起的工具,是一次性的。

at now+时间
//在一定时间后要执行的动作(回车后显示如下结果)
at>
//在此后输入要执行的命令

可以有多条命令,按Ctrl+D结束输入。

如果执行的命令具有输出结果到屏幕的功能(例如:echo),则到时后结果会以邮件形式发送到当前用户。

at now+5min        
//在5分钟后执行什么动作(min:分钟 hour:小时 day:天)
    at> reboot        //执行重启

at 905        //在9:05执行什么动作
at -l            //查看系统中存在的延迟任务    
    1    Mon Aug  3 13:50:00 2015 a root
  任务id   执行的时间                执行者

atrm +id    //撤销此任务的执行
at  4pm+3days    //在3天后4pm执行
at 10am Jul 31       //在10am Jul 31执行
at 1am tomorrow        //在明天1am执行

at命令的格式总结: at 小时:分钟 YY-MM-DD(具体到时间的话是发起命令的时间)
at命令执行后不可更改,只能删除。

at用户限制

/etc/at.deny 用户黑名单
/etc/at.allow 用户白名单(这个默认不存在,需要的话自行创建)
用户黑名单:禁止使用at的名单
用户白名单:允许使用at的名单

当/etc/at.allow出现时/etc/at.deny自动失效

定时任务crontab

crontab命令是定期任务,是周期性执行的,是重复的。

用法:crontab -e
发起定时任务,进入vi编辑界面,在此写入时间及命令。

标准格式:* * * * * cammand/脚本
格式:分 时 日 月 周 命令(最好绝对路径)

0 10 * * * /bin/touch /file    ///在每一天的10:00都执行touch /file

符号含义:

   *   任何时间
   ,  不连续时间
   -   时间范围
   */n 隔多久执行

时间表示方式:
*/num 每隔。。。
num1-num2 在num1-num2之间的时间
num1,num2 在num1,num2这两个时间点
num1-num2/num3 在num1-num2之间每隔num3

    * * 1 1 1       1月1号和一月的每个周一
    * * * * * *     每分钟
    0 * * * *       每小时
    0 0 * * *       每天
    0 0 1 * *       每月1号
    05 * * * *      每小时整点过5分
    05 02 * * *     每天的2:05am
    30 08 01 * *    每月1号早上8:30
    00 07 25 12 *   12月25日7:00am
    30 16 * * 5     每个周五的4:30pm
    */5 * * * *     每隔5分钟
    0 0 1 jan 0     1月1日午夜和每周日
    */10 9-17 1,15 * *   在每月1号和15号9:am-5:00pm间每隔10分钟

分钟:0-59 小时:0-23 日:1-31 月:1-12(可以用名称) 周0-7(0和7都表示周日,可以用名称)

注意:在定时任务中,%有自己的含义,所以在定时任务中调用脚本时,%前要加转义符\

crontab -l        //显示当前用户的定期任务列表
crontab -r       //删除当前用户的定期任务
crontab -u 用户名    //以该身份执行定期任务操作

crontab任务的记录文件 /var/spool/cron/[username]
每当有一个用户创建crontab任务,就会在/var/spool/cron中创建一个以该用户为名的文件,其中的内容就是任务的内容。

当删除crontab任务后,对应在/var/spool/cron中以该用户为名的文件也会被删除。

每个用户只能建立一个/var/spool/cron/[username]文件,但可以在文件中加入多个定时任务。

crontab的用户限制:
如果太多用户可以被允许使用crontab命令的话,系统负载会过大,需要进行限制

/etc/cron.deny 用户黑名单
/etc/cron.allow 用户白名单(这个默认不存在,需要的话自行创建)

用户黑名单:禁止使用crontab的名单
用户白名单:允许使用crontab的名单

当/etc/cron.allow出现时/etc/cron.deny自动失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值