FreeBSD+cron+php+запись файлов

zjamba

Новичок
FreeBSD+cron+php+запись файлов

Добрый день!
Написал PHP скрипт, где данные берутся из Астериска и записываются в файл. Когда запускаю скрипт мануально, всё работает. Когда я его прописываю в /etc/crontab, сам скрипт запускается, но он не создаёт новые файлы и не записывает в них информацию.

Пример кода:
<?
.
.
.
system("asterisk -rx \"sip show peers\">/usr/test/asterisk.ip");
.
.
.
?>

Запускаю под провами рута.
Может кто подскажет, в чём дело?
 

confguru

ExAdmin
Команда форума
сделать дебаг в коде и посылать письмо с дебагом.
 

zjamba

Новичок
А как сделать дебаг, если он мне на это ничего не сообщает?
 

440hz

php.ru
Re: FreeBSD+cron+php+запись файлов

Автор оригинала: zjamba
Добрый день!
Написал PHP скрипт, где данные берутся из Астериска и записываются в файл. Когда запускаю скрипт мануально, всё работает.
а сам php то он у тебя находит при вызове? я так разок давным-давно лоханулся ...
теперь всегда пишу в cron /usr/local/bin/php <имя скрипта>
 

Фанат

oncle terrible
Команда форума
не только пхп.
ВСЕ пути должны быть прописаны чётко.
в том числе - в самом скрипте
 

zjamba

Новичок
Сам скрипт выполняется 100%, т.к. всё кроме записи файлов работает в нём. путь я указываю строго от начала до конца (/usr/test/asterisk.ip). В кроне тоже всё с начала до конца(да и если бы по другому, то он не запустил бы сам скрипт).
 

440hz

php.ru
zjamba
а скрипт руками запускается из любого твоего местоположения? например от корня запускается? 8)

cd /
<запустить скрипт>

так все в порядке?

как уже сказал Фанат, очень распространённая ошибка в cron и ручном запуске - это различия в путях.
 

zjamba

Новичок
Да. в том то и дело что в ручную запускается и всё делает на ура. В кроне он просто файлы не создаёт. А если файлы ручным запуском создать, то с крона он их читает без проблем. Но дело в том, что каждый раз нужны новые данные.
 

440hz

php.ru
Автор оригинала: zjamba
Да. в том то и дело что в ручную запускается и всё делает на ура.
покажи-ка свой cron?

и место в скрипте где файлы создаются?
раз пошла такая пъянка ...
 

zjamba

Новичок
Всё!!!! Всем большое спасибо!!!! Ошибка строчке из первого сообшения.
old: system("asterisk -rx \"sip show peers\">/usr/test/asterisk.ip");
new: system("/usr/local/sbin/asterisk -rx \"sip show peers\">/usr/test/asterisk.ip");
 

confguru

ExAdmin
Команда форума
zjamba

Пути надо указывать полные если запускаешь проги которых нет в PATH
Дебаг сделать легко
в первой строчке
mail ( я@я.ru, 'Скрипт запустился')

и так далее в нужных местах..

В твоем случае письмо бы никогда не пришло

А зачем тебе php для asterisk? Запускай из шелла.
 
Сверху