Поскольку вопрос достаточно очевиден, я хотел бы знать, как настроить задание cron для выполнения любого случайного дня недели без использования какого-либо внешнего скрипта.
РЕДАКТИРОВАТЬ: Если люди не поняли этот вопрос, у нас 5 рабочих дней, а именно понедельник, вторник, среда, четверг, пятница. У меня есть сервер, работающий 24/7. Я хочу установить cron, который будет запускаться в любой 1 рабочий день
в неделю.
Примечание: я очень сомневаюсь, что это повторяющийся вопрос, поскольку этот вопрос не относится к ежедневно
/ еженедельно
/ ежемесячно
cronjobs.
Хотите, чтобы что-нибудь подобное сработало для вас? Она выбирает случайный день из массива bash days
(обратите внимание на префикс SHELL), а затем записывает cronjob (random_runner
) под /etc/cron.d
для запуска скрипта /home/foobar/myscript
.
/etc/cron.d/random_generator можно поместить в /etc/cron.d/random_generator
и каждый день генерировать нового "бегуна".
SHELL=/bin/bash
27 8 * * * root days=(Mon Tue Wed Thu Fri Sat Sun); rd="$(( RANDOM \% 7 ))"; day="${days[$rd]}"; echo "45 15 * * $day root /home/foobar/myscript" > /etc/cron.d/random_runner