| [mail@dialup] Завершение конструкции |
![]() |
||||||||||||||||||||||
- До самого, что ни на есть конца доведу!
-- Николай Носов "Незнайка в Солнечном городе". На текущий момент доставка почты у нас работает как на получение, так
и на отправку, но в ручном режиме, то есть требует явного запуска
Для начала создадим командный файл следующего содержания: #!/bin/sh
PATH=/bin:/sbin:/usr/bin/:/usr/sbin/:/usr/local/bin/:/usr/local/sbin
export PATH
SPOOL_DIR="/var/spool/mqueue"
LINK_FILE="/var/run/ppp/link.infopac"
if [ -f ${LINK_FILE} ]; then
F=`ls ${SPOOL_DIR}`
if [ -n "$F" ]; then sendmail -q; fi
su -l vap -c fetchmail > /dev/null
F=`ls ${SPOOL_DIR}`
if [ -n "$F" ]; then sendmail -q; fi
fi
В вашем случае он должен отличаться только именем пользователя -
в строке " chmod a+x /etc/mail/delivier.sh Как видите, логика файла проста - в случае наличия установленного
соединения, которое проверяется по присутствию файла
"/var/run/ppp/link.infopac"
(откуда этот файл берется будет объяснено позже), выполнить доставку
почты, если в очереди " Поскольку речь идет о FreeBSD и коммутируемом доступе в сеть,
то вы почти наверняка используете для дозвонки " !bg /usr/local/etc/mail/deliver.sh Строка должна быть добавлена в группу команд с меткой идентичной
метке конфигурационной группы в файле " Для примера приведу выдержки из моих конфигурационный файлов "user-ppp":
/etc/ppp/ppp.conf:
-------------------------------------------------------------
infopac:
set ifaddr 10.1.1.1/0 10.2.2.2/0 0.0.0.0 0.0.0.0
add default HISADDR
set timeout 30
set phone "420220:735000:454545"
set authname ЗДЕСЬ_БЫЛО_ИМЯ
set authkey ЗДЕСЬ_БЫЛ_ПАРОЛЬ
allow user vap
allow mode interactive
/etc/ppp/ppp.linkup:
-------------------------------------------------------------
infopac:
! /usr/bin/touch /var/run/ppp/link.infopac
shell /usr/local/etc/firewall/configure.sh
!bg /usr/local/sbin/squid -k reconfigure
!bg /usr/local/etc/mail/deliver.sh
Обратите внимание на самую первую строку стоящую в группе "infopac".
Эта строка как раз и создает тот самый файл, по присутствию которого
проверяется наличие установленного соединения. Разумеется, в случае
разрыва соединения файл должен удаляться, поэтому конфигурационный
файл "
MYADDR:
! /bin/rm /var/run/ppp/link.*
Как видите здесь используется универсальная команда, которая удаляет любой файл-признак соединения не зависимо от его типа. Именно поэтому эта команда внесена в общую группу "MYADDR". На этом, собственно, все. Теперь всякий раз на установке
сетевого соединения будет автоматически выполняться доставка почты
без какого-либо вашего вмешательства. Чтобы почта
доставлялась не только при установке соединения, но и во время
нахождения на линии, достаточно в системный файл планировщика
" 15 * * * * root /etc/mail/deliver.sh Эта строка запускает проверку спула и доставку каждые 15 минут. Finita! Почта ходит на полном автопилоте.
<
предыдущая |
содержание |
|
|
||||||||||||||||||||||