Linux常用命令之at与crontab

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

at:只执行一次定时任务
    at 时间:设置任务
    Ctrl+d:结束任务编辑
    at -l:查看任务
    atrm 序号:删除任务

    

 

crontab:定时任务
    通过 crontab,可以在固定的间隔时间执行指定的系统命令或script脚本。 时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合(注:日和周不要组合,会发生日期冲突)。
    在/var/spool目录下有一个与用户同名的文件,这里存放有用户的定时任务。可以用crontab -l查看
    在/etc下有cron.deny(不能使用crontab 命令的用户)与cron.allow(能使用crontab的用户)文件。如果两个文件同时存在,那么/etc/cron.allow 优先,如果两个文件都不存在,那么只有超级用户可以安排作业。

    -l:查看当前定时任务
    -e:设置定时任务,相当于编辑/var/spool目录下的crontab文件
    -i:清空定时任务
    -r:清空定时任务

crontab格式说明:
    添加的命令必须以如下格式:* * * * * command path

    前5个字段分别表示:分钟(0-59)小时(1-23)日期(1-31)月份(1-12)星期(0-6,0表示周日)
        注:* 表示任何时刻 , 表示分割-表示一个时段/n表示每个n的单位执行一次
        0 17 * * *  ----------------------------17:00 执行
        43 21 * * *  ---------------------------21:43 执行
        */10 * * * * ---------------------------每隔10分 执行
        2 8-20/3 * * * ------------------------8:02,11:02,14:02,17:02,20:02 执行
        0,10 17 * * 0,2,3  -------------------每周日,周二,周三的 17:00和 17:10 执行
    
    在前台运行某个作业时,终端被该作业占据。可以使用&命令把作业放到后台执行,它不会占据终端。例如:command >out.file 2>&1 &

    2>&1 含义
    例子:0 2 * * * /u01/test.sh >/dev/null 2>&1 &
    在后台执行命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空,防止队列占满。
    2>&1写在后面的原因是标准输出和错误都被重定向到/dev/null中。
        注:2表示错误输出1表示标准输出0表示键盘输入

crontab注意事项:
    1):计划任务参数中所有命令一定要用绝对路径的方式来写
    2):执行 shell脚本任务前加 /bin/bash,防止脚本文件没有执行权限( x)    
    3):定时任务命令结尾加 >/dev/null 2>&1 &
    4):计划任务中的分钟项目必须有数值,绝对不能为空或是 *号;日和周不能同时使用,否则就会发生冲突
    5):定时任务日志 /var/log/cron*
    6):新创建的 cron job不会马上执行,至少要过2分钟才执行。如果重启 cron则马上执行
    7):在 crontab中%表示换行意思。如果要用话必须进转义 \%
    8):注意环境变量问题。系统自动执行任务调度时是不会加载任何环境变量的。要用到环境变量时,可通过source命令引入。例如:0 * * * * . /etc/profile;/bin/sh

    crontab -e:编辑定时任务

    

    


    crontab -l:查看定时任务

    

 

    crontab -ri:清空定时任务

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值