![]() |
![]() |
![]() |
|||||||||||||||||||||
[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! Почта ходит на полном автопилоте.
<
предыдущая |
содержание |
|
![]() |
|
|||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
|||||||||||||||||||||||
![]() |
![]() |
![]() |