Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2013, 21:32   #1
nihil777
Junior Member
 
Регистрация: 17.03.2013
Сообщений: 14
Вес репутации: 0
nihil777 is an unknown quantity at this point
По умолчанию Запуск PHP-скрипта из CRON

Доброго времени суток.
Написал скрипт loadtemp.sh
Код:
#!/bin/sh
kill $(pidof cat /dev/ttyUSB0)
php-cgi loadtemp.php
cat /dev/ttyUSB0 > /tmp/arduino.dat &
chmod 666 /tmp/arduino.dat
добавил на него задание в cron
Код:
/etc/init.d/cron stop
echo "*/5 * * * * /etc/temp/loadtemp.sh" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron start
Запуск скрипта loadtemp.sh руками из консоли работает как надо.
По событию из cron в скрипте отрабатывают все команды кроме скрипта php.
Установка прав 777 на loadtemp.sh и loadtemp.php не помогла.
Замена в скрипте "php-cgi loadtemp.php" на "php-cgi loadtemp.php < /dev/null > script.log", "php-cgi loadtemp.php > /dev/null 2>&1" не помогли.
Подскажите, пожалуйста, работающее решение на запуск php-скрипта из cron.
nihil777 вне форума   Ответить с цитированием
Старый 02.10.2013, 21:55   #2
lvovitch
Senior Member
 
Регистрация: 14.04.2010
Сообщений: 239
Вес репутации: 0
lvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond reputelvovitch has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от nihil777 Посмотреть сообщение
Доброго времени суток.
Написал скрипт loadtemp.sh
Код:
#!/bin/sh
kill $(pidof cat /dev/ttyUSB0)
php-cgi loadtemp.php
cat /dev/ttyUSB0 > /tmp/arduino.dat &
chmod 666 /tmp/arduino.dat
добавил на него задание в cron
Код:
/etc/init.d/cron stop
echo "*/5 * * * * /etc/temp/loadtemp.sh" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron start
Запуск скрипта loadtemp.sh руками из консоли работает как надо.
По событию из cron в скрипте отрабатывают все команды кроме скрипта php.
Установка прав 777 на loadtemp.sh и loadtemp.php не помогла.
Замена в скрипте "php-cgi loadtemp.php" на "php-cgi loadtemp.php < /dev/null > script.log", "php-cgi loadtemp.php > /dev/null 2>&1" не помогли.
Подскажите, пожалуйста, работающее решение на запуск php-скрипта из cron.
я запускаю так:
в /etc/crontabs/root
PHP код:
*/* * * * sh /srv/www/3_5/test.sh 
в test.sh проверяю работает ли, если нет, то запускаю:
PHP код:
if ps w grep carduino.php grep -vq grep
then
  
echo "carduino_daemon is already running"
else
  echo 
"starting carduino_daemon"
  
php-cgi /srv/www/3_5/carduino.php
fi 
lvovitch вне форума   Ответить с цитированием
Старый 02.10.2013, 22:22   #3
nihil777
Junior Member
 
Регистрация: 17.03.2013
Сообщений: 14
Вес репутации: 0
nihil777 is an unknown quantity at this point
По умолчанию

Спасибо. Дошло.
Оказывается нужно было прописать абсолютный путь к файлу:
Код:
#!/bin/sh
kill $(pidof cat /dev/ttyUSB0)
php-cgi /etc/temp/loadtemp.php
cat /dev/ttyUSB0 > /tmp/arduino.dat &
chmod 666 /tmp/arduino.dat
nihil777 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:18. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика