zoukankan      html  css  js  c++  java
  • Crontab 让linux定时执行shell脚本

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行

     

    入门

    # crontab –e

    这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行:

    00 00 * * * /home/linrui/XXXXXXXX.sh

    这将会在每天凌晨00:00运行 指定的.sh文件

    对于类似于几分钟执行一次的脚本,可在末尾加上 “>/dev/null 2>&1”,这里表示不写到系统日志:

    00 00 * * * /home/linrui/XXXXXXXX.sh >/dev/null 2>&1

    Cron 各项的描述

    以下是 crontab 文件的格式:

    {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

    o minute: 区间为 0 – 59

    o hour: 区间为0 – 23

    o day-of-month: 区间为0 – 31

    o month: 区间为1 – 12. 1 是1月. 12是12月.

    o Day-of-week: 区间为0 – 7. 周日可以是0或7.

    Crontab 示例

    1、在 凌晨00:01运行

    01 00 * * * /home/linrui/XXXX.sh

    2、每个工作日23:59都进行备份作业。

    59 23 * * 1,2,3,4,5 /home/linrui/XXXX.sh  

    或者如下写法:

    59 23 * * 1-5 /home/linrui/XXXX.sh

    3、每分钟运行一次命令

    */1 * * * * /home/linrui/XXXX.sh

    4、每个月的1号 14:10 运行

    10 14 01 * * /home/linrui/XXXX.sh

    Crontab命令的选项

    以下是 crontab 的有效选项:

    crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。

    crontab –l : 显示 crontab 文件。

    crontab -r : 删除 crontab 文件。

    crontab -ir : 删除 crontab 文件前提醒用户。

    今天用crontab不能自动执行脚本,但是手动执行可以,通过在末尾添加 “>> /home/xxx/log 2>&1”,查看log日志显示:No such file or directory

    折腾了半天,后来是因为crontab -e添加的时候在最后一行末尾,需要添加一个空行,即编辑的时候末尾enter以下。。

    转载自:https://my.oschina.net/u/2288038/blog/485972

  • 相关阅读:
    nvalid bound statement (not found)
    小程序
    maven启动项目时报错
    创建Maven项目出错
    小程序的tab标签实现效果
    C# 异步
    C#中计算时间差
    linq筛选唯一
    GMap.net控件学习记录
    nodepad++ 正则 替换
  • 原文地址:https://www.cnblogs.com/jx-yangbo/p/6836074.html
Copyright © 2011-2022 走看看