Назад | Перейти на главную страницу

как выполнить команду в первое, второе, третье и четвертое воскресенье месяца с помощью crontab

У меня 4 сервера, и я хочу, чтобы каждый из них перезагрузился в воскресенье.

как я могу это сделать с помощью Crontab? Спасибо! Дотан.

Первое воскресенье всегда будет между 1 и 7, поэтому

10 1 1-7 * * test `date +\%a` == "Sun" &&  doSomething

будет запускать doSomething в 10 минут четвертого в воскресенье, которое выпадает между 1 и 7 числами. Точно так же второе воскресенье будет между 8-м и 14-м, третье между 15-м и 21-м и 4-е между 22-м и 28-м числами, поэтому настройте день месяца соответствующим образом на соответствующем сервере.

Обратите внимание, что тест необходим, потому что

Примечание. День выполнения команды можно указать в двух полях - день месяца и день недели. Если оба поля ограничены (т. Е. Не *), команда будет запущена, когда любое из полей совпадет с текущим временем. Например, «30 4 1,15 * 5» вызовет выполнение команды в 4:30 утра 1 и 15 числа каждого месяца, а также каждую пятницу.