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