Моя цель - создать скрипт, который я смогу выполнить с помощью задания cron.
Сценарий должен найти несколько файлов killstat.php в нескольких каталогах и выполнить их.
Это то, что я до сих пор:
#!/bin/bash
NAMETOFIND=$(find /home/ -name "killstat.php")
for i in $NAMETOFIND; do /usr/bin/php -f $i;
done
killstat.php должен быть выполнен для сброса моей статистики. Но, похоже, файл php не выполняется. Когда я меняю ключ -f на -l (проверка синтаксической ошибки), скрипт работает нормально!
Выполнение php killstat.php
из CLI также работает нормально и сбрасывает статистику.
Я работаю с правами root, а также killstat.php, и мой скрипт принадлежит root.
Сценарий chmod для 4755
Решение предоставлено Hastur с крошечной переделкой.
Я помещаю этот скрипт в /etc/cron.monthly для сброса моей статистики.
#!/bin/bash
find /home -name "killstat.php" | while read i
do
Cdir=$(dirname "$i")
Cname=$(basename "$i") # This line can be avoided..
cd "$Cdir"
/usr/bin/php -f "$Cname"; # ...if here you use killstat.php [1]
cd -
done