LINUX.ORG.RU
ФорумAdmin

Рестарт xl2tpd, скрипты


0

1

Не очень мне понравилось, что ppp0 при включении сервера поднимается не всегда. Последствия разрывов тоже представляются не очень то хорошими. На сколько я понял, для решения проблемы нужен скрипт, который будет пинать xl2tpd в случае, когда тот повиснет мертвым грузом. На просторах интернета был найден следующий вариант:

#!/usr/bin/perl -w

use File::Copy;

use Net::Ping;

use POSIX ();

my $date = POSIX::strftime('%y.%m.%d %H.%M.%S', localtime);

my $pidfile = «/var/run/xl2tpd.pid»;

my $log = «/var/log/ping.log»;

my $size = (-s $log);

my $max = «1024»;

open (FH1, «>> $log»);

my $ip = '8.8.8.8';

my $p = Net::Ping->new( «icmp», 5, 64 );

if ( $p->ping($ip) ) {

} else {

if( -e($pidfile) && -T _)

{

system (`/etc/init.d/xl2tpd restart`);

print FH1 «$date ping NO L2TP restart», «\n»;

}

else

{

system (`/etc/init.d/xl2tpd start`);

print FH1 «$date ping NO L2TP start», «\n»;

}

}

close (FH1);

Может быть есть и лучше - не знаю, предложите другие. А пока этот отправился в nano /etc/init.d/check-inet Получил права на выполнение chmod +x /etc/init.d/check-inet И его адрес был записан мною в nano /etc/rc.local /etc/init.d/check-inet перед строчкой exit 0

Но на сколько я понял, /etc/rc.local одноразово выполнит скрипт при загрузке системы. Хотел бы непрерывный ход проверки, пускай интернет поднимается сам, что бы ни случилось. Cron раз в минуту выполнит - не чаще? Ожидать после разрыва столько - не то хотелось бы.



Последнее исправление: Cewrio (всего исправлений: 2)

Зачем энто на перле писать - непонятно. Башем быстрее. А так да, бывает что он упадёт и больше не перезванивает. Наверное надо исходники ему править, но лень, так что тоже обхожусь скриптом по крону раз в 5 минут, меня не напрягает т.к. падает канал крайне редко, раз в неделю может.

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.