Реклама на сайте Advertise with us

Проблема с exec под рутом

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 19/01/07 в 11:49       Ответить с цитатойцитата 

Вообщем возникла проблема при выполнении кроном под рутом скрипта вида
Код:

copy("$src_path/file1.dat", "$dest_path/$file1.dat");
copy("$src_path/file2.dat", "$dest_path/$file2.dat");
exec("convert $src_path/img1.jpg -resize 320x240 $dest_path/img1.jpg", $result);

первые две строки выполняются корректно и все копируется, а вот вторая после ресайза маджиком не может создать изображение по новому пути. При этом если этот же скрипт запустить через веб, т.е. под nobody, то треться строка также выполнятся нормально и создается новое изображения. Я вообще не могу понять в чем может быть дело в первом случае при запуске кроном да еще под рутом. Есть у кого какие мысли по этому?

PS. $dest_path создается также в этом скрипте.

Гыыы

0
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 19/01/07 в 13:17       Ответить с цитатойцитата 

попробуй заменить
exec("convert $src_path/img1.jpg -resize 320x240 $dest_path/img1.jpg", $result);

на

`convert $src_path/img1.jpg -resize 320x240 $dest_path/img1.jpg`;

или на

`convert '$src_path/img1.jpg' -resize 320x240 '$dest_path/img1.jpg'`;

а вообще - проще запусти сам скрипт руками из под рута (если он должен от него выполнятся) и смотри что за ерроры выдаст.

P.S. Советую запускать все таки не из под рута из соображений безопасности.

5
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 19/01/07 в 13:58       Ответить с цитатойцитата 

запускал из под рута convert $src_path/img1.jpg -resize 320x240 $dest_path/img1.jpg
никаких сообщений, просто снова строка ввода комманд. Непонятно почему при запуске через веб все работает нормально.

Гыыы

0
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 19/01/07 в 14:09       Ответить с цитатойцитата 

не. ты запусти именно сам скрипт аля:
php cron.php
тоесть полностью что в кроне..

увидишь на что ругается, ну, есть конечно и неправильный вариант для крона:
lynx --dump http://domain.com/cron.php >/dev/null 2>&1

если с веба работает, то запустит с веба, но это неправильный вариант - лучше найти причину.
Непробывал писать не convert а /usr/local/bin/convert ?

5
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 19/01/07 в 14:13       Ответить с цитатойцитата 

Во первыз, от рута картинки ковырять - дурной тон. А во вторых, пусть к конверту указывать не пробовал?

5
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 19/01/07 в 16:07       Ответить с цитатойцитата 

покажи мне как ты получаешь :

Код:

$src_path, $dest_path

5
 

БешаныйСуслег

С нами с 16.06.04
Сообщения: 1322
Рейтинг: 1338

Ссылка на сообщениеДобавлено: 19/01/07 в 21:20       Ответить с цитатойцитата 

Возможно convert не найден?

0
 



С нами с 03.07.05
Сообщения: 474
Рейтинг: 231

Ссылка на сообщениеДобавлено: 19/01/07 в 23:11       Ответить с цитатойцитата 

1. convert не найден
2. путь не найден (скорее всего)
3. включать надо error_reporting ~E_ALL и смотреть что за ошибки выдаются.

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 20/01/07 в 01:39       Ответить с цитатойцитата 

интересно, нахуа конверт пикч под рутом пускать.... это фетиш новый?

0
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 20/01/07 в 05:07       Ответить с цитатойцитата 

Petroff, спасибо за идеи. Сейчас буду пробовать.

xreload писал:
покажи мне как ты получаешь : $src_path, $dest_path

Врядли получится. Тот код это маленький кусочек достаточно большого проекта. Эти пути формируются по нескольким алгоритмам из различных частей получаемых выборокой из нескольких таблиц в бд, плюс множество различных условий которые будут понятны скорее всего лишь при разбирании всего проекта. Пути 100% верны. Т.к >> Если запустить http://www.domain.cpm/cron.php, то скрипт выполняется полностью корректно в том числе и тот самый convert!

netzoner писал:
1. convert не найден
2. путь не найден (скорее всего)
3. включать надо error_reporting ~E_ALL и смотреть что за ошибки выдаются.


Еще раз пишу. Есть файл, например, cron.php.
>> Если запустить http://www.domain.cpm/cron.php, то скрипт выполняется полностью корректно в том числе и тот самый convert!
>> Если запустить cd /usr/home/path/ ; /usr/local/bin/php -q cron.php, то скрипт также выполняется полностью, но кроме convert'а.

Pentarh, вопрос не в том под кем нужно запускать, а почему кроном из под рута не выполняется convert.

Гыыы

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/01/07 в 07:04       Ответить с цитатойцитата 

а мне все не нужно, нужно лишь две строчки, из того условия которое выполняется при тесте.

5
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 20/01/07 в 07:35       Ответить с цитатойцитата 

ну вот к примеру тестовый вариант
Код:

$src = "/usr/home/account/domain.com/bmw.jpg";
$dst = "/usr/home/account/domain.com/bmw2.jpg";
exec("convert $src -resize 50% $dst", $result);

Гыыы

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/01/07 в 07:48       Ответить с цитатойцитата 

попробуй :
Код:

exec("convert '$src' -resize 50% '$dst'");

5
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 20/01/07 в 07:55       Ответить с цитатойцитата 

Вообще никак, бляя icon_sad.gif ...не работает и этот вариант
Код:

exec("convert /usr/home/account/domain.com/bmw.jpg -resize 50% /usr/home/account/domain.com/bmw2.jpg");


ЗЫ. Только что запустил через веб http://www.domain.com/cron.php и все отресайзилось... я в шоке smail14.gif

Гыыы

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/01/07 в 08:10       Ответить с цитатойцитата 

Код:
exec("/usr/local/bin/convert '$src' -resize 50% '$dst'");

5
 

Гражданин планеты Земля

С нами с 30.03.03
Сообщения: 7217
Рейтинг: 2185

Ссылка на сообщениеДобавлено: 20/01/07 в 08:19       Ответить с цитатойцитата 

Обана! icon_biggrin.gif Этот тестовый вариант сработал, ща буду проверять полную версию крона. Блин, я же вроде пробовал раньше с путем по совету Petroff'а и тоже ничего... кстати без апострофоф тоже работает icon_smile.gif

Гыыы

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »