Поскольку вопрос довольно очевиден, я хотел бы знать, как настроить задание cron для выполнения любого случайного дня недели без использования какого-либо внешнего скрипта.
РЕДАКТИРОВАТЬ: Если люди не поняли этот вопрос, у нас есть 5 рабочих дней, а именно понедельник, вторник, среда, четверг, пятница. У меня есть сервер, работающий 24/7. Я хочу установить cron, который будет работать на any 1 weekday
в неделю.
Примечание: я очень сомневаюсь, что это повторяющийся вопрос, поскольку этот вопрос не относится к daily
/weekly
/monthly
cronjobs.
Хотели бы вы, чтобы это работало? Он выбирает случайный день из массива bash days
(обратите внимание на префикс SHELL), а затем записывает задание cron (random_runner
) под /etc/cron.d
запустить скрипт /home/foobar/myscript
.
Вы можете поместить это в /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