Bash скрипт, который запускает php файл каждые 5 секунд

Bash скрипт:

$ cat test.sh
#!/bin/bash
while true
do
 /home/user/public_html/website.com/test.php
 sleep 5
done

Я пытаюсь вызвать это с помощью cron:

* * * * * /home/user/public_html/website.com/test.sh

Где моя ошибка? Имеет ли значение, где находится .sh?

РЕДАКТИРОВАТЬ: я исправил все проблемы сверху. Я также создал эту задачу cron для предотвращения нескольких процессов:

* * * * * flock -n /tmp/test.lock /home/user/public_html/website.com/test.sh

Проблема в том, что bash выполняет php каждые 5 секунд, и это создает несколько процессов, таких как:

user 12:31 /home/user/public_html/website.com/test.php
user 12:31 /home/user/public_html/website.com/test.php
user 12:31 /home/user/public_html/website.com/test.php

Как это контролировать? Мне нужно изменить скрипт bash, чтобы он мог определить, выполняется ли PHP.

Это правильно:

#!/bin/bash
while true
if [ "$(pidof test.php)" ]
then
echo "Running"
else
do
 /home/user/public_html/website.com/test.php &
 sleep 5
fi
done

Ответы на вопрос(6)

Ваш ответ на вопрос