【发布时间】:2014-07-02 01:49:46
【问题描述】:
我制作了一个 cron 来在每个星期二凌晨 3:50 执行一项任务 - 除了与每月第一天重合的星期二:
50 3 * * 2 MyCommand
但我不知道如何将异常转换为 cron 语法,有什么提示吗?
【问题讨论】:
-
我认为你需要在你的命令周围放置一个包装脚本,如果该月的第一天是拒绝运行的。
-
我就是这么想的 :)
我制作了一个 cron 来在每个星期二凌晨 3:50 执行一项任务 - 除了与每月第一天重合的星期二:
50 3 * * 2 MyCommand
但我不知道如何将异常转换为 cron 语法,有什么提示吗?
【问题讨论】:
您可以在脚本中添加条件吗?我会那样做。在您的 cron 中,您可以评论它不会在您的脚本指示的第一个运行
例如,在 bash 中你可以这样做:
#!/bin/bash
dayofmonth=`date +"%d"`
if [ $dayofmonth == "01" ];
then
# do not run, exit
exit
fi
# otherwise go on
echo "it is not the first"
所以你的 cron 会是
30 5 * * 2 /path/to/script # comment: script conditional in place to not run on the 1st
【讨论】:
您可以将“日期”字段设置为 2-31 的范围,有效地排除第一天。应该这样做:
50 3 2-31 * 2 MyCommand
【讨论】: