Имеется php скрипт, который необходимо выполнять на дешевом хостинге каждые 15 минут. На сервере есть cron.
Как сделать? при этом желательно чтоб эта прога ничего не выводила на стандартный вывод т.к. вывод программ отправляется мне на почту.
P.S. На сервере у них стоит линух.
P.P.S. Скрипт мониторит состояние удаленного компа с помощью ping при изменении состояния пишет в лог время и полученное состояние(up/down). Если есть аналоги, написанные на более подходящем языке - буду рад!
php по cron
Модератор: Модераторы разделов
-
esvaf
- Бывший модератор
- Сообщения: 844
- Статус: экс- LinuxForum.Ru team
- ОС: CentOS 5.3
-
user
- Сообщения: 163
- Статус: ~
- ОС: Debian GNU/Linux
Re: php по cron
В crontab -e
*/15 * * * * /home/путь/до/того/что/запускаем
*/15 * * * * /home/путь/до/того/что/запускаем
-
solshark
- Сообщения: 439
- Статус: Монархист
- ОС: Gentoo ~amd64
Re: php по cron
Так более корректно:
Код: Выделить всё
15 * * * * /usr/bin/php -c /etc/php.ini -q -f /path/to/script.php-
esvaf
- Бывший модератор
- Сообщения: 844
- Статус: экс- LinuxForum.Ru team
- ОС: CentOS 5.3
Re: php по cron
solshark писал(а): ↑10.01.2007 11:39
Так более корректно:
Код: Выделить всё
15 * * * * /usr/bin/php -c /etc/php.ini -q -f /path/to/script.php
Спасибо! Похоже даже работает. А точно можно будет сказать только через пару дней.
Кстати, раз теперь известно как запускать - может кому и пригодится:
Код: Выделить всё
<?php
$ip="0.0.0.0"; //подставьте здесь ip адрес или доменное имя копьютера, который проверяем
$a=`ping -c 4 $ip`;
$b=nl2br($a);
$c=explode("<br />", $b);
$cnt1=count($c);
$num1=$cnt1-6;
$a=`ping -c 4 $ip`;
$b=nl2br($a);
$c=explode("<br />", $b);
$cnt2=count($c);
$num2=$cnt2-6;
$a=`ping -c 4 $ip`;
$b=nl2br($a);
$c=explode("<br />", $b);
$cnt3=count($c);
$num3=$cnt3-6;
$num=$num1+$num2+$num3;
#echo "good pings: $num of 12";
if($num>0)
{
# echo "up";
$state=1;
}
else
{
# echo "down";
$state=0;
}
$fp=fopen("last_state.txt","r");
$last=fread($fp,1);
fclose($fp);
if($last!=$state)
{
$fp=fopen("last_state.txt","w");
fwrite($fp,"$state");
fclose($fp);
$line=date("d-F-Y h:i:s A")." turned to $state \n";
$fp=fopen("statelist.txt","a");
fwrite($fp,"$line");
fclose($fp);
}
?>Необходимо в той-же дириктории, что и скрипт создать чистый файл statelist.txt и файл last_state.txt с цифрой 1 или 0 внутри