IT  UK - CD E DVD LINUX + IMBALLAGGIO + SPEDIZIONE = 0 (zero) EURO
clicca qui per tornare su www.tuttosulinux.com
- tutto su Linux e sul software libero -

inserisci qui le parole da cercare nel sito


powered by FreeFind

LINUX HOWTO IN ITALIANO
Avanti Indietro Indice

6. Come faccio ad automatizzare la procedura di connessione?

La gestione automatica della posta e delle news è abbastanza facile sotto Linux.

Come primo e principale passo, si deve creare uno script /usr/lib/ppp/ppp-on per iniziare il collegamento con l'Internet Provider. Spesso, basta una riga con il seguente comando:

/usr/sbin/pppd

Altri particolari vengono definiti nel file /etc/ppp/options:

connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
crtscts
modem
defaultroute
asyncmap 00000000
user dirk
/dev/modem 38400

Per chiudere il collegamento, usate la versione predefinita di /usr/lib/ppp/ppp-off.

Dopo aver verificato il funzionamento di questi script, si devono scrivere altri script che eseguiranno le diverse operazioni. Lo script per prelevare la posta è già stato descritto precedentemente, ed assumeremo che si trova nel file /home/dirk/pop.

Uno script per lo scambio della posta può essere messo in /root/mail:

#! /bin/sh
#
# scambia posta elettronica
# 10 minuti di timeout:
TIMEOUT=600
DT=10

# lancia sendmail:
sendmail -q &

# preleva la posta:
su dirk -c /home/dirk/pop

# attendi la fine di sendmail:
t=0
while ! mailq | grep -q "Mail queue is empty"; do
    t=$[$t+$DT]
    if [ $t -gt $TIMEOUT ] ; then
     echo "sendmail -q timeout ($TIMEOUT).."
     exit 1
    fi
    sleep $DT
done

exit 0

Lo script per lo scambio delle news può essere messo nel file /usr/lib/news/news:

#!/bin/sh
#
# scambio delle news
# viene eseguita come utente news:
cd /usr/lib/news

#aggiorna il batch di uscita (C News):
/usr/lib/newsbin/input/newsrun < /dev/null

#scambia le news:
/usr/lib/newsbin/newsx acme news.acme.xz

#e svuota il batch in ingresso:
/usr/lib/newsbin/input/newsrun < /dev/null

Adesso manca soltanto uno script per mettere insieme i diversi pezzi, e che può essere messo nel file /root/news+mail:

#!/bin/sh
#
# scambio della posta e delle news
# viene eseguito come utente root
#
if ! /usr/lib/ppp/ppp-on; then
    exit 1
fi
trap "/usr/lib/ppp/ppp-off" 1 2 3 15

#scambio della posta e news:
/root/mail &
su news -c ~news/news
wait

#chiude il collegamento
/usr/lib/ppp/ppp-off

#aggiorna il batch in ingresso (C News):
su news -c /usr/lib/newsbin/input/newsrun < /dev/null &

exit 0

È abbastanza semplice modificare lo script precedente per attivare la connessione solo quando c'è della posta o delle news da spedire. Supponiamo di chiamarlo /root/news+mail.cond, e teniamo presente che il nome dello spool delle news in uscita deve essere aggiornato di conseguenza:

#!/bin/sh
#
# scambio della posta e delle news, solo se ci sono messaggi in uscita
# (C News spool)
if [ -s /var/spool/news/out.going/acme/togo ] ||
    ! ( mailq | grep -q "Mail queue is empty"); then
     /root/news+mail
fi

L'unica cosa che manca è specificare quando dovrebbe accadere tutto ciò. Questo viene fatto usando il comando crontab -e come root. Assumendo che intendiamo effettuare sempre lo scambio della posta e delle news alle 07:00 del mattino, e successivamente ogni 4 ore ma solo se ci sono messaggi da spedire

00 7            * * *   /root/news+mail
00 11,15,19,23  * * *   /root/news+mail.cond

Verificate separatamente il corretto funzionamento di ogni componente prima di collegarli insieme. Successivamente potreste aggiungere molte altre operazioni, come per esempio sincronizzare la data e ora (usando ntpdate), l'aggiornamento automatico (mirroring) di file WWW e FTP gestiti localmente verso il vostro Internet Provider (usando make e ftp).

ALTERNATIVA: A seconda delle vostre preferenze, potete impostare le procedure al contrario. Ogni volta che la connessione PPP viene attivata, verrà eseguito anche lo script /etc/ppp/ip-up. E potete aggiungere in questo script qualunque incantesimo sia necessario per effettuare lo scambio della posta e delle news. Usate man pppd per ulteriori dettagli.

ALTERNATIVA: È anche possibile attivare automaticamente il collegamento PPP ogni volta che viene rilevato traffico di rete. Questa è in molti aspetti la soluzione più elegante, ma dipende molto di una buona configurazione onde evitare frequenti (e costosi) collegamenti. Altre informazioni possono essere trovate a http://www.dna.lth.se/~erics/diald.html.

L'utility diald è disponibile da ftp://sunsite.unc.edu/pub/Linux/system/network/serial/diald-0.16.tar.gz.

In questo sito potete anche trovare altre variazioni sul tema dei collegamenti PPP.


Avanti Indietro Indice
 

[ home | appunti | recensioni | links | chat | forum | contattaci | cerca nel web ]

Sito segnalato da Yahoo!

clicca qui per tornare su www.tuttosulinux.com
- tutto su Linux e sul software libero -
- © 2001- www.tuttosulinux.com tutti i diritti riservati - webmaster@tuttosulinux.com -