Linux 特殊cron表达式:如何创建异常?

Linux 特殊cron表达式:如何创建异常?,linux,cron,Linux,Cron,我让cron在每个星期二凌晨3:50执行一项任务-除了与每月第一天重合的星期二: 50 3 * * 2 MyCommand 但是我不知道如何将我的异常转换为cron语法,有什么提示吗?您可以将“月日”字段设置为范围2-31,实际上不包括第一天。这应该做到: 50 3 2-31 * 2 MyCommand 你能在脚本中加入一个条件吗?我会那样做的。在cron中,您可以注释它不会按照脚本的第一个方向运行 例如,在bash中,可以执行以下操作: #!/bin/bash dayofmonth=`d

我让cron在每个星期二凌晨3:50执行一项任务-除了与每月第一天重合的星期二:

50 3 * * 2 MyCommand
但是我不知道如何将我的异常转换为cron语法,有什么提示吗?

您可以将“月日”字段设置为范围2-31,实际上不包括第一天。这应该做到:

50 3 2-31 * 2 MyCommand

你能在脚本中加入一个条件吗?我会那样做的。在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"
所以你的亲信是

30 5 * * 2 /path/to/script # comment: script conditional in place to not run on the 1st

谢谢,我想这应该不是每个星期二执行我的命令,而是在(2-31)和每个星期二之间的所有日子执行,是吗?@user3196353是正确的,我想,上面的答案将在每个月的2-31号执行,如果是星期二,则在1号执行。crontab的手册页上写着“最后,如果将月或月的某一天指定为元素或列表,并且将周的某一天也指定为元素或列表,则应匹配与月和月的某一天或周的某一天匹配的任何一天。”谢谢,抱歉,你们是对的,这个答案应该相应地被否决。我认为你们需要在你们的命令中添加一个包装脚本,如果月的第一天是1号,它就拒绝运行。这就是我所想的:)谢谢你们,我认为这应该解决我的问题,即使以另一种方式是的,我认为你们必须这样做。希望你不只是在cron里做。据我所知,克朗你不可能做这样的例外。因此,您需要在脚本中执行异常。祝你好运