Как проверить и убить задание cron, если конкретный cron запущен с использованием скрипта оболочки - PullRequest
1 голос
/ 01 февраля 2012

У меня есть два задания cron для импорта процесса изображения в базу данных и запланировано, что cron запускается раз в два дня один раз во время сервера 1 час 2 минуты.Мне нужно проверить, работает ли cron или нет, используя скрипт оболочки, и убить этот cron, если он запускается уже или через два дня.Кто-нибудь может мне помочь?

Пример:

2 1 */2 * *  cd /var/www/railsapp/book_app_v2 && /usr/local/bin/rake RAILS_ENV=production db:load_java_photo 2>&1 >> /var/www/railsapp/book_app/log/cron_book_photo.log

1 Ответ

2 голосов
/ 01 февраля 2012

Если я вас правильно понимаю, вы хотите предотвратить переполнение cron.Ознакомьтесь с hatools , который решает именно эту проблему.

halockrun предоставляет простой и надежный способ реализации блокировки в сценариях оболочки.Типичное использование halockrun - запретить одновременное выполнение cronjobs.Реализация halockrun делает его очень устойчивым ко всем видам устаревших блокировок.

hatimerun предоставляет механизм тайм-аута, который можно использовать из сценариев оболочки.hatimerun может установить несколько действий - сигналы для отправки - на несколько тайм-аутов.

...