URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 8427
[ Назад ]

Исходное сообщение
"Нужно прибить ppp"

Отправлено S , 13-Сен-01 01:48 
Необходимо решить следующую задачу:
1) раз в день поднимаеться ppp
2) разгребаеться очередь sendmail
3) стартует fetchmail
4) прибиваеться ppp

Пункт (1) реализовать легко. Пунк (2-3) тоже, для этого необходимо написать в
/etc/ppp/ip-up.local:
#!/bin/sh
sendmail -q
fetchmail -c /etc/fetchmailrc

А вот как реализовать (4) я не знаю. Нужно чтобы ppp прибивался только после
того как завершат свою работу sendmail и fetchmail !


Содержание

Сообщения в этом обсуждении
"RE: Нужно прибить ppp"
Отправлено nubi , 13-Сен-01 02:44 
killall pppd
например

"RE: Нужно прибить ppp"
Отправлено S , 13-Сен-01 03:07 
Это понятно. Я же написал что нужно прибить только после того как закончет работу sendmail -q. Как определит закончил он или нет?

"RE: Нужно прибить ppp"
Отправлено lavr , 13-Сен-01 13:40 
>Это понятно. Я же написал что
>нужно прибить только после того
>как закончет работу sendmail -q.
>Как определит закончил он или
>нет?

например периодически проверять очередь,
если пустая, то завершить ppp.

немножко подумать и решение придет.


"RE: Нужно прибить ppp"
Отправлено Paul , 13-Сен-01 13:53 
>например периодически проверять очередь,
>если пустая, то завершить ppp.
>немножко подумать и решение придет.

sendmail -q не стартует как демон, то есть скрипт будет
честно ждать, пока очередь не разгребется, и только потом перейдет к killall. Это по идее так...

А если наверняка, то можно смотреть код выходы ps(1) на
ps -ax | grep sendmail и по коду далее решать.


"RE: Нужно прибить ppp"
Отправлено volodja , 14-Сен-01 23:20 
У меня скрипт по крону запускается.
grep'ом проверяю и ,если входящей почты нет (fetchmail -c | grep "No mail" ) ,а также исходящая очередь пуста (mailq | grep "Mail queue is empty") , то можно отваливать, иначе ждем 3мин
и повторяем проверку снова.

Может быть решение и тупое, но у меня работает без проблем.