@Richard_Ferlow
Веб-программист

Как в Centos при составлении задачи Cron запретить вызов скрипта до того, как завершится предыдущий вызов?

Сейчас вызывается так (в VESTA настроил)

php /home/admin/web/default.domain/public_html/xxx/hotels.php


Нужно, чтобы не происходил новый вызов до того, как завершится старый.
  • Вопрос задан
  • 3189 просмотров
Решения вопроса 1
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
flock -n /tmp/blah.lock -c 'php /home/admin/web/default.domain/public_html/xxx/hotels.php'


Такую команду нужно запускать. Если flock не установлен, то yum install flock для начала.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
if [ ! -f /tmp/lock ]; then touch /tmp/lock; php hotels.php; rm /tmp/lock; else exit 0; fi

либо так
/bin/bash -c "if [ ! -f /tmp/lock ]; then touch /tmp/lock; php hotels.php; rm /tmp/lock; else exit 0; fi"


прверяем lock-файл, если не существует, то создаем его, выполняем скрипт, удаляем его. если lock-файл существует, то просто завершаем работу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы