Необходимо решить следующую задачу:
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 !
killall pppd
например
Это понятно. Я же написал что нужно прибить только после того как закончет работу sendmail -q. Как определит закончил он или нет?
>Это понятно. Я же написал что
>нужно прибить только после того
>как закончет работу sendmail -q.
>Как определит закончил он или
>нет?например периодически проверять очередь,
если пустая, то завершить ppp.немножко подумать и решение придет.
>например периодически проверять очередь,
>если пустая, то завершить ppp.
>немножко подумать и решение придет.sendmail -q не стартует как демон, то есть скрипт будет
честно ждать, пока очередь не разгребется, и только потом перейдет к killall. Это по идее так...А если наверняка, то можно смотреть код выходы ps(1) на
ps -ax | grep sendmail и по коду далее решать.
У меня скрипт по крону запускается.
grep'ом проверяю и ,если входящей почты нет (fetchmail -c | grep "No mail" ) ,а также исходящая очередь пуста (mailq | grep "Mail queue is empty") , то можно отваливать, иначе ждем 3мин
и повторяем проверку снова.Может быть решение и тупое, но у меня работает без проблем.