flock

Простая защита от двойного запуска заданий cron. Эта комманда запустит /root/myscript.sh и создаст lock-файл для данного процесса. Пока он активен, новый вызов данного скрипта не произойдет. После завершения программы, блокировка файла снимается и процесс может быть снова запущен. Параметр -w 600 определяет время ожидания комманды flock на освобождение lock-файла. Для моментальной отмены выполнения процесса используйте параметр -w 0, для ожидания же бесконечно долгого времени параметр нужно опустить.

Принимаются следующие параметры:

-s –shared Устанавливает общую блокировку

-x –exclusive Устанавливает эксклюзивную блокировку

-u –unlock Снимите блокировку

-n –nonblock

-w –timeout Время ожидания блокировки

-o –close Закрывет дескриптор файла перед запуском команд

-c –command Запуск командной строки одного через оболочки

Пример использования:

* * * * * /usr/bin/flock --lockfile=/tmp/myapp.locked -- /path/to/myapp