Crontab、计划作业、节假日

anq*_*egi 4 shell ubuntu cron

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

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

  • \n
  • 工作日下午 6 点至 9 点以及 18 点至 24 点每小时运行并向经理发送邮件。

  • \n
  • 每晚 00:00 至 6:00 每 3 小时运行一次,节假日发送邮件给经理

  • \n
\n\n

\xc2\xbf节假日和工作日之间如何丢弃?

\n

tcs*_*aru 5

您将需要几个条目:

  1. 办公时间内每15分钟一班

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

  2. 仅向经理发送电子邮件,在脚本中添加 if 来检查时间并仅发送给经理

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

  3. 每三个小时发送一次

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

对于不在假期运行的情况,cron 将无法提供帮助,您需要从不同的来源获取一个列出所有假期的文件,然后在脚本中添加一个 if 。

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

# Continue your script from here
Run Code Online (Sandbox Code Playgroud)