Сделать стартовой  Добавить в избранное  Форум   Реклама   Написать нам   DLE хостинг крупных порталов 

RSS   English   Russian   

:: Главное Меню
· > Главная
· > Инт. Новости
· > События за 24 часа
· > Программы
· > Мобильный раздел
· > Видео фильмы
· > Скачать фильмы
· > Интернет книги
· > Безопасность
· > Игры
· > Музыка альбомы
· > Вебмастер
· > Рабочий стол
· > Электронные платежи
· > ОС Linux
· > Краткие номера ICQ
· > Развлечения
· > Полезная информация
· > Юмор
· > Своими руками
· > Технологии HI-TECH

:: Поиск
  
Расширенный поиск...

Скачать фильмы за 20 мин.





Filmplus.Ru - Все новые фильмы за 2008г.



Начни день с нами занеси наш сайт в закладки -)
 :: Контроль за процессами
 
1. По pid-файлу.

"Умные" демоны всегда оставляют за собой файл, который хранит идентификатор процесса. Естественно, что файл существует лишь тогда, когда приложение запущено. Это нам и надо. Скрипт сводится к пару строчкам, которые проверяют - существует ли pid-файл в системе? Напишем скрипт для вышеизложенного случая. Как ты уже догадался, проверять мы будем активность pppd, который активизирует интерфейс ppp0.

#!/usr/bin/perl
unless(-e "/var/run/ppp0.pid") {
system("/sbin/service pptptunnel start");
}


Всего одно условие. Если файл не существует - запускаем pptptunnel. После написания этого скрипта, поместим его в кронтаб суперпользователю. Это достигается командой crontab -e. В среде vi жмем "i" и набираем следующее:

*/5 * * * * /usr/bin/chkpppd > /dev/null 2>&1.

Таким образом, активация скрипта /usr/bin/chkpppd будет производиться каждые пять минут.

2. По таблице процессов.

Если приложение не оставляет никаких файлов, то остается только один выход - узнать, существует ли в данный момент идентификатор процесса. Получить его можно с помощью стандартных утилит ps, grep и awk. Само выделение идентификатора очень полезно - с ним можно сделать много вещей - например, послать сигнал SIGINT (rehash). Таким образом, промодифицируем скрипт.

#!/usr/bin/perl
chomp($cmd=`ps ax|grep pppd|grep -v grep|awk '{print $1}'`);
unless($cmd) {
system("/sbin/service pptptunnel start");
}


Экранирование символов очень важно, поскольку Perl примет конструкцию языка awk за свой синтаксис ;). Промежуточная команда grep -v grep обезопасит тебя от ложных выводов идентификатора grep.

Но это все стандартно. Что если тебе захочется проконтролировать пять, а то и двадцать процессов, которые крутятся у тебя на машине? Не писать же двадцать разных скриптов для этой нужды. Достаточно написать один. Сценарий будет просматривать специальный файл, в котором записана маска процесса, а также команда запуска демона в случае падения сервиса. Общий синтаксис документа такой:

pptp;/usr/sbin/pptp vpn.server.ru
ircd;/usr/ircd/ircd
squid;/usr/squid/sbin/squid -D


Теперь пропарсим его скриптом.

#!/usr/bin/perl

$pfile = 'ps.lst'; ##
Файл с данными

open(PFILE,$pfile);
@ps=;
close(PFILE); ##
Получим данные в отдельный массив.
foreach (@ps) {
($proc,$start)=split(";",$_); ##
Сплитуем их на две составляющие
chomp;
$match = `ps ax | grep $proc | grep -v grep | awk {'printf($1)'}`; ##
Выделяем PID
system("$start")
unless ($match); ##
Если PID не найден - запускаем процесс
undef $match; ##
И делаем переменную неявной.
}


Теперь прописываем скрипт в кронтаб и радуемся жизни - твои сервисы никогда не упадут на длительное время ;). Можно промодифицировать скрипт, чтобы он писал в лог о падении того или иного сервиса. Было бы желание...


Автор: admin - 23 ноября 2003 - Комментарии (0)   






 :: Информация
  Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


Варез портал существует с 2003 - 2007 / Хостинг предоставили MacHoster.Ru

Firewall Cisco Systems, Inc


:: Вход

:: Это интересно!
Загрузка ...

:: Партнёры
· -> Gold Warez
· -> Kadet Team
· -> Interfilm.Tv
· -> Зевель.ру
· -> Gold-Music.ru
· -> Timeparty.com
· -> Пежня.ру
· -> Soft Best.net
· -> Creep.ru
· -> Ziza.ru
· -> Фишки нет
· -> Goldwarez.ru
· -> Korzik.net
· -> Kinopult.ru
· -> Softlinkers
· -> Prikola.net
· -> FunZor.net
· -> LooKsZone.ru
· -> MaxDown.Ru
· -> BinLayer.Ru

Реклама

Хостинг оптимизирован под DataLife движок...