Задание крона, чтобы проверить, работает ли Сценарий PHP

Насколько я могу читать, последняя версия - 1.4.21 с 22 ноября 2014 года. Ссылка

0
07.06.2015, 13:44
2 ответа

Для проверки запущенного процесса вы можете перечислить все запущенные процессы (с помощью ps), а затем отфильтровать тот, который вам нужен, с помощью grep:

 ps aux | grep YOUR_PHP_COMMAND

Если вы хотите запустить команду только тогда, когда она не запущена, вы можете использовать следующий скрипт:

CMD="/bin/sleep 3" # replace it with your command
if ! ps x|grep -v grep|grep "$CMD"; then 
  $CMD
fi

ЗАМЕЧАНИЕ: Вы должны использовать 'grep -v grep', чтобы исключить grep-процесс из списка процессов.

Если вы хотите поместить его в CRON JOB, вы можете упаковать его в одну строку с помощью ';'

CMD="/bin/sleep 3"  ;  if ! ps aux|grep -v grep|grep "$CMD"; then $CMD  ;  fi

Помните, что CRON JOB хороши для планирования. Если Вы хотите только поддерживать программу в рабочем состоянии, то лучшим подходом будет бесконечный цикл, который запускает программу всякий раз, когда она заканчивается.

-1
28.01.2020, 04:59

То, что вы хотите, это демон, а не работа CRON. Работа CRON - для выполнения чего-либо (или при загрузке), не для сохранения процесса вживую. Я рекомендую вам прочитать эту статью, а затем сделать что-то очень простое:

#!/bin/sh
while true
do
   /my/script.php >> /var/log/my_script.log 2>&1
done
1
28.01.2020, 04:59

Теги

Похожие вопросы