Это старая версия документа!
flock
Простая защита от двойного запуска заданий cron. Эта комманда запустит /root/myscript.sh и создаст lock-файл для данного процесса. Пока он активен, новый вызов данного скрипта не произойдет. После завершения программы, блокировка файла снимается и процесс может быть снова запущен. Параметр -w 600 определяет время ожидания комманды flock на освобождение lock-файла. Для моментальной отмены выполнения процесса используйте параметр -w 0, для ожидания же бесконечно долгого времени параметр нужно опустить.
Принимаются следующие параметры:
- -s –shared Get a shared lock
- -x –exclusive Get an exclusive lock
- -u –unlock Remove a lock
- -n –nonblock Fail rather than wait
- -w –timeout Wait for a limited amount of time
- -o –close Close file descriptor before running command
- -c –command Run a single command string through the shell
Пример использования:
* * * * * /usr/bin/flock --lockfile=/tmp/myapp.locked -- /path/to/myapp