如何在cron中安排工作,该工作将在每个月的第8个工作日运行

时间:2018-01-10 14:53:24

标签: linux unix

我想安排一个每月工作8个工作日的工作。我怎样才能实现它。

格式:

30 1 * 1-12 1 [命令]

1 个答案:

答案 0 :(得分:0)

您可以尝试将此作为每日cron运行:

    
#!/bin/bash

if [ -f ./ranThisMonth ]; then
    if [ "$(date +%d -gt 10)" ]; then
        rm ./ranThisMonth.tmp
    fi
else
    echo "Running now!"
    if [[ "$(date +%u)" -lt 5 && "$(date +%d)" -ge 8 ]]; then

        # Your commands here

        touch ./ranThisMonth.tmp
    fi
fi
  1. if [ -f ./ranThisMonth ]; then检查它是否在当月运行

  2. if [ "$(date +%d -gt 10)" ]; then如果过去10日重置

  3. if [[ "$(date +%u)" -lt 5 && "$(date +%d)" -ge 8 ]]; then如果工作日(bussinesday)和过去的第8次