Это плохо иметь длинный список в моем crontab?
Я занимаюсь созданием приложения для отображения сообщений на экране с желаемыми интервалами.
Я хочу использовать cron для достижения этого, и я рассматриваю свои варианты. Самым наивным подходом было бы напечатать команды непосредственно в crontab. Это плохая идея?
2 ответа
Нет, неплохо иметь длинный список crontab
, cron
выполняется за минуты в кратчайшие сроки, поэтому не в режиме реального времени, но вы также можете получать уведомления в режиме реального времени (см. ниже).
В качестве альтернативы вы также можете использовать cron
запустить 1 скрипт, который выполняет все ваши разные crontab
линии, которые в противном случае вы бы включили в ваш crontab
где этот файл выполняется или проверяет все различные параметры, которые вы хотите получать уведомления. Это также было бы проще поддерживать: если вам нужно новое задание, вы добавляете его в свой скрипт и можете проверить, не испорчено ли это задание в самом скрипте (cron может быть довольно разборчивым).
Могу ли я также предложить вам взглянуть на создание upstart
работа. Это было бы больше в стиле Ubuntu. Таким образом, вы создаете daemon
или же service
что вы можете начать и остановить из командной строки. Плюс это сделало бы ваши уведомления в режиме реального времени, а не периодически.
Upstart - это основанная на событиях замена для демона / sbin / init, который обрабатывает запуск задач и служб во время загрузки, останавливает их при завершении работы и контролирует их во время работы системы.
# Файл выгрузки Ubuntu по адресу /etc/init/yourservice.conf предстартовый скрипт mkdir -p /var/log/yourcompany/ конец сценария респаун предел возрождения 15 5 начать на уровне выполнения [2345] остановка на уровне выполнения [06] скрипт su - youruser -c "NODE_ENV=test exec /var/www/yourcompany/yourproject/yourservice.js 2>&1" >> /var/log/yourcompany/yourservice.log конец сценария
Использование gnome-schedule
Это интуитивно понятно, и легче запускать графические приложения из cron
требует дополнительной работы) - просто не забудьте пометить команду как приложение X в конфигурации задачи.
Домашняя страница: http://gnome-schedule.sourceforge.net/
Пример использования: http://www.liberiangeek.net/2011/04/schedule-a-job-to-automatically-put-ubuntu-into-sleep-or-hibernation-mode/