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

bash скрипт пока true + сон 24 часа + одиночная команда VS Cron

Хорошая практика - иметь сценарий bash на VPS со следующим каркасом:

#!/bin/bash
while true; do 
    /path/to/other-bash-script-that-does-stuff.sh
    sleep 24h
done

Это сделано для того, чтобы не касаться конфигурации Cron. Это вызовет проблемы с потреблением памяти / процессора? Сценарий будет загружен во время загрузки.

ОБНОВИТЬ: Основываясь на комментариях, я также спрашиваю, как проверить, правильно ли работают настройки Cron, не дожидаясь времени, необходимого для естественного начала работы cron. (Я очень новичок в администрировании Cron)

Большое спасибо за ваши ответы!

Хотя это сработает, мне кажется, это плохая идея. Как системный администратор, я ожидаю, что периодическое выполнение выполняется через cron, поэтому установка нестандартным способом усложняет установку.

Если главный сценарий был убит по какой-либо причине (в качестве одного из примеров он был выполнен без nohup и оболочка завершилась), процесс не запустился бы. Кроме того, cron регистрирует весь вывод и тот факт, что он был выполнен. Вы можете встроить все это в свой скрипт, но зачем изобретать колесо, если cron уже существует?

Я использую такую ​​конфигурацию (хотя в моем случае он запускается один раз, спит 8 часов, запускается снова, спит 8 часов, запускается в последний раз и умирает). Как ни странно, я не думаю, что это когда-либо вызывало какие-либо проблемы. AFAIK, имеющий спящий процесс, на самом деле ничего не делает с точки зрения ресурсов. По какой причине вы не можете коснуться cron?