Столкнулся с проблемой, написанный мною бот для сайта запускался раз в минуту и однажды на сервере, где работал бот интернет канал сильно просел, как результат за минуту бот не успел завершить свою работу.
crontab запустил его еще раз, бот снова не успел, а crontab продолжал беспощадно запускать копии бота - последствия были не очень приятными.
Но проблема решилась очень просто, через flock.
Теперь скрипт не запускается до тех пор, пока предыдущий запуск не закончит работу!
Например, запуск произвольного скрипта из crontab раз в минуту:
-c /path/to/script.sh - путь до скрипта или программы, которую нужно запустить.
Эта утилита имеется штатно на FreeBSD и Linux.
crontab запустил его еще раз, бот снова не успел, а crontab продолжал беспощадно запускать копии бота - последствия были не очень приятными.
Но проблема решилась очень просто, через flock.
Теперь скрипт не запускается до тех пор, пока предыдущий запуск не закончит работу!
Например, запуск произвольного скрипта из crontab раз в минуту:
* * * * * root flock -n /tmp/script.lock -c /path/to/script.shРассмотрим опции: -n /tmp/script.lock - путь до lock файла.
-c /path/to/script.sh - путь до скрипта или программы, которую нужно запустить.
Эта утилита имеется штатно на FreeBSD и Linux.
Комментариев нет:
Отправить комментарий