Создание задания cron из сценария

Я пытаюсь создать сценарий который устанавливает рабочие места sme cron. Пока что я создал шаблон того, как должен выглядеть crontab, и скопировал его в / var / spool / cron / crontabs / root, перезаписав исходный файл. Если вы «crontab -e», вы можете увидеть, что задания cron определены правильно, но на самом деле они не выполняются. Только если вы измените что-то, а затем выйдете, заставив crontab «установить» файл cron, он сработает.

Нужно ли мне дополнительно запускать что-нибудь, чтобы новый файл cron был «проанализирован» или «установлен». Спасибо!

0
задан 21 October 2019 в 08:03
1 ответ

В зависимости от системы Вы идете, systemd может получить Ваш результат лучше, чем крон, потому что последний удерживается от использования.

Запись Ваш сценарий оболочки, сохраните его в / и т.д. как что-то как оболочка-script.sh и сделайте его исполняемым файлом.

Создают .service файл в/etc/systemd/system/, названном оболочкой-script.service, которая называет оболочку-script.sh.

# /etc/systemd/system/shell-script.service

[Unit]
Description=Run shell-script.sh

[Service]
Type=oneshot
ExecStart=-/bin/bash -c /etc/shell-script.sh

Создают .timer файл в/etc/systemd/system/, названном оболочкой-script.timer:

# /etc/systemd/system/shell-script.timer

[Unit]
Description=Periodically run shell-script.service.

[Timer]
# Run daily at 8:08am and every 4 hours thereafter:
OnCalendar=*-*-* 08/4:08:00
Persistent=true

[Install]
WantedBy=multi-user.target

Наконец, запустите .timer:

sudo systemctl start shell-script.timer

и включают его так, чтобы это было правильно скомпилировано для погони за перезагрузкой:

sudo systemctl enable shell-script.timer
0
ответ дан 23 November 2019 в 04:10

Теги

Похожие вопросы