Как заставить работу cron запускаться через x секунд?
Я думаю, что неправильно понимаю Kubernetes CronJobs. На экзамене CKAD был вопрос, чтобы CronJob запускался каждую минуту, но он должен запускаться через произвольный промежуток времени. Я не вижу никаких свойств для CronJobs или Jobs, чтобы они запускались через определенное время. Должно ли это быть частью строки cron или я совершенно не понимаю?
4 ответа
Вы могли бы сделать что-то вроде
@reboot sleep 60 && script.sh
хотя вы конкретно не упоминаете время загрузки. Вы также можете добавить сон в crontab.
Другой способ - создать службу systemd (примечание: в системах с установленной systemd)
[Unit]
Description=cronjob with delay
After=(some criteria)
[Service]
Type=oneshot
ExecStart=/pathto/script.sh
[Install]
WantedBy=
возможно, вы неправильно поняли вопрос, он заключался в том, чтобы прервать задание, если оно не завершилось за x секунд. вы должны использовать
.spec.activeDeadlineSeconds
чтобы удовлетворить требование.
Вы можете запланировать запуск CronJob в определенную дату / время, а затем запускать его каждую минуту или в любом другом порядке. Есть мощный онлайн-инструмент, который может вам в этом помочь. Например:
0 0/10 10/1 ? * * *
запланирует запуск вашего CronJob каждые 10 минут, начиная с 10 часов дня. Или:
0 0/10 * ? * 6/1 *
запланирует запуск вашего CronJob каждые 10 минут, начиная с пятницы.
При использовании этого подхода важно помнить о часовом поясе, в котором работает ваш кластер:
Все CronJob
schedule:
время основано на часовом поясе kube-controller-manager.Если ваша плоскость управления запускает kube-controller-manager в подах или пустых контейнерах, часовой пояс, установленный для контейнера kube-controller-manager, определяет часовой пояс, который использует контроллер задания cron.
Более подробную информацию / примеры планирования можно найти ниже:
ты мог бы сделать
sleep "seconds"; echo " * * * * * command" >> path/to/crontab
Мне кажется, что вопрос сформулирован неправильно. Вероятно, это означало что-то вроде каждой минуты каждого субботнего дня.
* * * * SAT
Или каждую минуту в течение нескольких часов
* 9-17 * * *