Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не запускаются тестовые скрипты через cron
 
 автор: antf   (10.05.2008 в 17:51)   письмо автору
 
 

Здравствуйте.
Не запускаются тестовые скрипты через cron. Нет ли ошибок в crontab и самих файлах?

Файл crontab редактирую через ssh в vi. Хочу, чтобы скрипты запускались каждый час. Путь к php получал командой which php. Путь к скрипту узнал через $_SERVER['DOCUMENT_ROOT'], вывел эту переменную при запуске сайта. Права у скриптов стоят 777. Ошибок не приходит.


MAILTO=antf@inbox.ru
* */1 * * * /usr/bin/php/ /home/mysite/mysite.myhost.ru/html/cron/test.php
* */1 * * * /usr/bin/php/ /home/mysite/mysite.myhost.ru/html/cron/test2.php



Файл test.php (тест записи в файл)


<?php
  $path 
"/home/mysite/myhost.ru/html/content/test.txt";

  
$str date("r")."\r\n";

  
$fp = @fopen  ($path"a+");
        
fwrite ($fp$str);
        
fclose ($fp);

  @
chmod($path0777);
?>


Файл test2.php (тест соединения с базой)

<?php
  mysql_connect
("localhost""db_user""db_psw");
  
mysql_select_db("mydbname");

  
$query "INSERT INTO test_date SET cur_date = NOW()";
  
mysql_query($query);

  
mysql_close();
?>

   
 
 автор: antf   (10.05.2008 в 18:12)   письмо автору
 
   для: antf   (10.05.2008 в 17:51)
 

А вот. 40 писем в ящике. Вот что пишет:

bin/sh: line 1: /usr/bin/php/: Not a directory

   
 
 автор: winflip   (10.05.2008 в 18:34)   письмо автору
 
   для: antf   (10.05.2008 в 18:12)
 

Чтобы скрипт работал в кроне надо задать путь к интерпретатору php

   
 
 автор: antf   (10.05.2008 в 19:10)   письмо автору
 
   для: winflip   (10.05.2008 в 18:34)
 

Так он же задан /usr/bin/php/ в crontab

   
 
 автор: antf   (10.05.2008 в 19:20)   письмо автору
 
   для: antf   (10.05.2008 в 19:10)
 

Хотя может быть я слэш лишний дописал...

   
 
 автор: winflip   (10.05.2008 в 19:26)   письмо автору
 
   для: antf   (10.05.2008 в 19:20)
 

>Хотя может быть я слэш лишний дописал...
Я о том же

   
 
 автор: antf   (10.05.2008 в 19:54)   письмо автору
 
   для: winflip   (10.05.2008 в 19:26)
 

Убрал слэш. Файл записывается. База обновляется. Но только делается это каждую минуту, а не каждый час. Я что-то напортачив в задании или нет?

   
 
 автор: Trianon   (11.05.2008 в 00:26)   письмо автору
 
   для: antf   (10.05.2008 в 19:54)
 

может проще написать в лоб?
0 * * * * /usr/bin/php.....

   
 
 автор: himic   (11.05.2008 в 14:49)   письмо автору
 
   для: Trianon   (11.05.2008 в 00:26)
 

Хех а у меня на СУСЕ вот так запускается
* */1 * * * php -r /home/mysite/mysite.myhost.ru/html/cron/test2.php

   
 
 автор: Trianon   (11.05.2008 в 20:27)   письмо автору
 
   для: himic   (11.05.2008 в 14:49)
 

охотно верю.

Разница между хорошим и плохим скриптом в том, что хороший скрипт будет работать в любом операционном окружении, а плохой - только в том, для которого написан.

Разница между хорошим и плохим операционным окружением в том, что в хорошем будут работать любые скриптовые решения, а плохом - лишь наиболее переносимые.

Я предположил, что поменять строку в cron будет дешевле, чем ставить SUSE :)

   
 
 автор: antf   (11.05.2008 в 19:32)   письмо автору
 
   для: Trianon   (11.05.2008 в 00:26)
 

В лоб? Помогло :) Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования