Вопрос по cron'у

123
vasvas
На сайте с 30.08.2007
Offline
100
#11

Благодарю всех за ответы, но скрипт через крон все равно не хочет работать.

Скрипт, естественно, рабочий. Если просто скопировать из кронтаба строчку и выполнить в шелле - работает. Прописал полный путь до php. Проверил наличие перевода строки после последней записи в кронтабе, редактирую через crontab -e. Доступ через браузер к скрипту закрыт.

Не подскажите, где и какие логи стоит посмотреть? =)

O
На сайте с 13.08.2008
Offline
26
#12
vasvas:
Благодарю всех за ответы, но скрипт через крон все равно не хочет работать.
Скрипт, естественно, рабочий. Если просто скопировать из кронтаба строчку и выполнить в шелле - работает. Прописал полный путь до php. Проверил наличие перевода строки после последней записи в кронтабе, редактирую через crontab -e. Доступ через браузер к скрипту закрыт.
Не подскажите, где и какие логи стоит посмотреть? =)

А скрипт, небось, какой-нибудь system('wget ...'); делает?

А $PATH в кроне ему проваливается такой же, как и в консоли? :-)

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
vasvas
На сайте с 30.08.2007
Offline
100
#13

Скрипт, к примеру, такой:


<?php
// Set flag that this is a parent file
define( '_VALID_MOS', 1 );
set_time_limit(0);
require_once( 'configuration.php' );
require_once( $mosConfig_absolute_path . '/includes/database.php' );
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );

echo "Start opimization:\n\n";
$tables = $database->getTableList();
foreach ($tables AS $table)
{
$database->setQuery("OPTIMIZE TABLE `".$table."`");
$database->query();
$database->setQuery("ANALYZE TABLE `".$table."`");
$database->query();
echo "$table was optimized and analyzed\n";
}
echo "\nDone";
?>

Это что-то меняет?

N
На сайте с 06.05.2007
Offline
419
#14

конечно.

chdir в начало скрипта впишите

ну и с переменными окружения бывают проблемы

Кнопка вызова админа ()
vasvas
На сайте с 30.08.2007
Offline
100
#15

Но если я из любой директории запускаю скрипт той же командой, что прописана в кронтаб, разве не должен этот же скрипт этой же командой запускать без проблем по крону?

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

N
На сайте с 06.05.2007
Offline
419
#16

сложно попробовать что-ли?

если нету файла configuration.php - скрипт не запустится.

ну есть, конечно, кое-какие настройки в php.ini, но врядли вы их делали.

O
На сайте с 13.08.2008
Offline
26
#17
vasvas:
Но если я из любой директории запускаю скрипт той же командой, что прописана в кронтаб, разве не должен этот же скрипт этой же командой запускать без проблем по крону?

А что в логах крона?

И вообще, куда именно в кронтаб вписано выполнение этого скрипта?

S
На сайте с 28.02.2008
Offline
40
#18

если в логах ничего нет - прибить крон: ps ax | grep cron посмотреть pidы и через kill -9 прибить

можно и через killall cron, но лучше ручками

потом стартануть крон и смотреть логи.

dex
На сайте с 14.04.2006
Offline
181
dex
#19
netwind:

chdir

ага - расшифрую - можно пути прописать на сервере в Ваших инклюдах, перед конфигурейшен.пхп и дэйтабез.пхп

губит людей вода (подпись не продаю, в долг не даю)
PL
На сайте с 04.10.2003
Offline
75
#20
vasvas:
Скрипт, к примеру, такой...

Это что-то меняет?

Конечно, так работать не будет. Ваш крон от какого пользователя запускается? А у этого пользователя что стоит в окружении??? Нифакт, что тоже самое что у вас в командной строке.

Нужно, как вам уже сказали, в скрипте выставить переменную окружения и пути к файлам лучше писать абсолютные.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий