HOWTO : fidonet software for unix

[ index ] [ areafix ] [ binkd ] [ filefix ] [ ifmail ] [ inn ] [ mgetty ] [ sendmail ] [ together ] [ stat ] [ utilities ] [ download ]

Совместная работа

Здесь рассмотрен один из вариантов совместной работы всех этих программ, когда днем станция работает по IP, а ночью - модемами.

*** binkd запускается из /usr/local/etc/binkd.sh :
#!/bin/sh
# этот скрипт переделан из squid.sh ;)
prefix=/usr/local/fidonet
bindir=${prefix}/bin
logdir=${prefix}/log
etcdir=${prefix}/etc
# вечный цикл
while : ; do
   su fido -c "$bindir/binkd -C $etcdir/binkd.cfg >> $logdir/binkd.out 2>&1"
   # если мы дошли до этой строчки, значит binkd уже(или еще ;)не запущен.
   # можно что-нибудь почистить ...
   # rm $prefix/outbound/139c0fff.bsy
   # cd $prefix/outbound && rm -rf *.hld
   sleep 5
done


*** inn запускается из /usr/local/etc/innd.sh :
#!/bin/sh
su news -c /usr/local/news/bin/rc.news
rc.news стандартный, из поставки inn'а.

*** вызовы mgetty прописан в /etc/ttys :
cuaa0 "/usr/local/sbin/mgetty" cons25r on insecure
cuaa1 "/usr/local/sbin/mgetty" cons25r on insecure


В файле /etc/crontab добавлены следующие строчки :
#
# FidoNet ZMH + NMH, перезапуск mgetty (см. mgetty - ZMH)
#
0 8 * * * root killall mgetty
0 6 * * * root killall mgetty

*** В /usr/local/fidonet создайте файлик fido.cron (изменив его, не забывайте запускать crontab -u fido fido.cron) :
#
FIDO=/usr/local/fidonet
#
# IP (binkd)
#
# С 14:00 до 18:00 (пока работает интернет) регулярно создаем .clo'шки чтобы binkd "прозванивался"
*/15 14-18 *  *  *  touch $FIDO/outbound/139c0000.clo
*/40 14-18 *  *  *  touch $FIDO/outbound/139c0fff.clo
#
# MODEM (ifcico)
#
# Раз в сутки на всякий случай прозваниваемся NC
0    7     *  *  *  $FIDO/bin/ifcico -r1 f0.n5058.z2
# Ночью каждые полчаса прозвон на аплинка
*/30 18-8  *  *  *  $FIDO/bin/ifpoll f500.n5058.z2
#
# Каждые 15 минут - тоссинг/паковка эх.
*/15 *     *  *  *  $FIDO/bin/RunToss.sh
# Каждые 30 минут обработка файлэх, обработка запросов фиксов
*/30 *     *  *  *  $FIDO/bin/RunFileFix.sh
# Ночью обновление FREQ-базы
0    4     *  *  *  $FIDO/bin/freq/mkfbindex > $FIDO/tmp/filelist
#
# В полночь запуск обработчика лог-файлов
59   23    *  *  *   $FIDO/bin/fido.daily
#
В вышеприведенном примере все события (тоссинг, прозвонка, etc.) происходят по cron'у. Но вы можете использовать специализированные программы типа polld, tossd и другие.
Обратите внимание, что все эти программы вызываются из crontab'а пользователя fido, т.е. от его имени, с его правами. Проверьте скрипты, чтобы он был их владельцем.

Скрипт ifpoll (автор - Rasca Gmelch, 2:2410/305.4@fidonet) берется из $IFMAIL_SRC/misc/contrib/ifpoll. Просмотрите его содержимое, где потребуется поправьте пути и прочее. Скрипт этот довольно многофункционален, так что его можно настроить и на автоматическое накладывание нодедиффов, вызов filefix'а, areafix'а, и всякое такое...

Скрипт RunToss.sh :
#!/bin/sh
# Растоссим...
/usr/local/fidonet/bin/ifunpack >/dev/null 2>&1
# Подготовим для отправки...
/usr/local/fidonet/bin/send-ifmail >/dev/null 2>&1
# Запакуем...
/usr/local/fidonet/bin/ifpack >/dev/null 2>&1

Скрипт RunFileFix.sh :
(filefix)
#!/bin/sh
# toss
/usr/local/fidonet/bin/filefix/filefix -t
# scan
/usr/local/fidonet/bin/filefix/filefix -s
# manager
/usr/local/fidonet/bin/filefix/filefix -m
(gtic)
#!/bin/sh
/usr/local/fidonet/bin/filefix/gtic -t -i >/dev/null 2>&1

Скрипт fido.daily : это самописный скрипт, запускающий обработчики логов statout.pl и ifcicost.
*** В /usr/local/news создайте файлик news.cron (отредактировав его, не забывайте запускать crontab -u news news.cron) с содержимым :
0 3 * * * /usr/local/news/bin/news.daily expireover lowmark
0 * * * * /usr/local/news/bin/suck news.provider.my @/usr/local/news/etc/suck.conf -bp -hl localhost -c
1,11,21,31,41,51 * * * * /usr/local/news/bin/nntpsend

Если у вас нет чисто usenet'овских линков, то строчку с nntpsend можно выкинуть. Если вы выключаете компьютер на ночь, проставьте в первой строчке подходящее время для запуска. Прочитайте конец файла INSTALL из $SRC_INN - там все это описано поподробнее. Вторая строчка - вызов программы suck. Подробнее она описана в разделе suck.
This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/together.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2001
Last updated : March, 09, 2001