Як змусити крон працювати кожну другу неділю в ДРУГУ неділю?


10

У мене є робота з хроном, яка працює в 0 0 * * 0/2 - тобто кожну другу неділю. Наприклад, він просто пробіг зараз. Однак я хочу, щоб це працювало в інші неділі - в наступну неділю, а не в цю. Ще один спосіб: я припускаю, що він працює у неділі з парними числами, але я хочу, щоб він працював у неділі з непарними номерами.

Я не бачу нічого в "man 5 crontab", що допомогло б мені в цьому, тому я припускаю, що мені потрібно повернутися до запуску cronjob на 0 0 * * 0, а потім зробити щось у команді, яку я запускаю, щоб перевірити, яка неділя це є. Чи може хто-небудь допомогти мені з певним хитрістю командного рядка для цього?

ETA: зрозумів, що мій 0/2 взагалі не робить те, що я спочатку думав (кожну другу неділю). Він працює щонеділі, поки цей день тижня ділиться на два, що, звичайно, є. D'oh. У будь-якому випадку, основна вимога залишається: виконайте команду по неділях з непарними номерами.


"непарний номер", як у "Першій, Третій та П'ятій неділі"?
voretaq7

1
Ні, як у 1-му, 3-му, 5-му, 7-му, ... 49-му, 51-му тижні року. Іншими словами, щотижня, по неділях, які припадають на тижні року з непарними номерами.
Skud

Вибачте - cron цього не зробить для вас. Вам потрібно буде мати свій сценарій, щоб перевірити, чи підходить саме вам тиждень. (Також якщо ви пам'ятаєте мене з певного місця - HI !!! хвилі )
Дженні Д

Відповіді:


3

Я не буду робити вигляд, що я намагався виконати саме це завдання, але на це запитання щодо переповнення стека є відповіді, які показують потенційну хитрість командного рядка: /programming/350047/how-to-instruct-cron-to- виконувати-на роботу-кожен другий тиждень


Жоден з них не змушує хрон працювати на непарних тижнях. Всі вони просто роблять один одного. Деякі в надзвичайно екзотичні та "творчі" способи, які я також не рекомендував би.
Chris S

Відповідь, що голосує під головою, виглядає як щотижня, а потім покладається на хитрість командного рядка, щоб визначити, чи підходить цей тиждень.
nmjk

1
Так, але це модуль 2, а це означає, що він буде працювати на парних тижнях. Можливо, можливо скласти кілька evalблоків, щоб додати один, а потім виконати модуль 2. Це в кращому випадку некрасиво, але я вважаю, що це може спрацювати.
Chris S

1
З пов'язаної відповіді це виглядає як потенціал: date +\%W\% 2> / dev / null || що завгодно ... Однак, щоб отримати непарні тижні, я хотів би зробити "&& what" замість ||
Скуд

1
Отже, просити роз’яснення. Ви хочете визначити підрахунок "кожного непарного тижня" за тижнями року чи підрахунком за тижнями місяця? Я впевнений, що остання можлива, але мені доведеться знайти старі фрагменти, які я використовував у минулому.
nmjk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.