У меня есть задание cron, которое выполняется в 0 0 * * 0/2 - то есть каждое второе воскресенье. Например, он просто побежал сейчас. Однако я хочу, чтобы он работал в другие воскресенья - в следующее воскресенье, а не в этот. Еще один способ выразить это: я предполагаю, что он работает по четным воскресеньям года, но я хочу, чтобы он работал по нечетным воскресеньям.
В «man 5 crontab» я не вижу ничего, что помогло бы мне с этим, поэтому я предполагаю, что мне нужно вернуться к выполнению cronjob в 0 0 * * 0, а затем сделать что-то в команде, которую я запускаю, чтобы проверить, какое воскресенье это является. Может кто-нибудь помочь мне с некоторыми подходящими хитростями командной строки для этого?
ETA: понял, что мои 0/2 не делают то, что я первоначально думал (каждое второе воскресенье) вообще. Он проходит каждое воскресенье, пока этот день недели делится на два, что, конечно, так и есть. D'о. В любом случае, основное требование остается: запустить команду по нечетным воскресеньям.
Ответы:
Я не буду притворяться, что пытался выполнить эту конкретную задачу сам, но на этот вопрос переполнения стека есть некоторые ответы, которые показывают потенциальную хитрость командной строки: /programming/350047/how-to-instruct-cron-to- выполнить-работу-каждый-второй недели
источник
eval
блоков, чтобы добавить один, а затем выполнить модуль 2. Это в лучшем случае некрасиво, но я полагаю, это может сработать.date +\%W
\% 2> / dev / null || что угодно ... Однако, чтобы получить нечетные недели, я бы хотел сделать "&& все что угодно" вместо ||