Crontab,预定的工作,在假期

时间:2015-03-16 18:45:09

标签: shell ubuntu crontab

我编写了一个用于监视Rest API的shell脚本,当它关闭shell脚本时,为开发人员发送一封邮件,为管理员发送另一封邮件。问题是我需要这个频率:

  • 在工作日的办公时间(9-18小时)内每15分钟运行一次并向经理和开发人员发送邮件

  • 每个工作日下午6-9点和18点到24点运行并向经理发送邮件。

  • 每晚从00:00到6:00每隔3小时运行一次假期并发送邮件给经理

¿如何在假期和工作日之间丢弃?

1 个答案:

答案 0 :(得分:3)

您需要多个条目:

  1. 办公时间内每15分钟

    * / 15 09-18 * * * yourscript.sh

  2. 仅向经理发送电子邮件,在脚本中添加一个if,用于检查小时并仅发送给经理

    00 06-09,18-23 * * * yourscript.sh

  3. 每三个小时发送一次

    <00> 00 00,03,06 * * * yourscript.sh

  4. 如果没有在假期运行,cron将无法提供帮助,您需要从不同的源获取列出所有假期的文件,然后在脚本中添加if。

    #!/bin/sh 
    if [ grep -q `date +%F` /random_location/holidays.txt]; then    
       exit 0   
    fi
    
    # Continue your script from here