[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: [Mandrake] shell script ftp automatisé squidGuard



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Foo wrote:
| Bonjour tout le monde,
|
| Petit shell script de Mise à jour des blacklists dans squidGuard.
|
| J'ai fais quelques lignes qui :
| - génèrent le fichier .netrc dans $Home/
| - qui se connecte en mode anonyme sur le serveur ftp de Toulouse
| - qui importe la dernière MAJ de blacklists.tar.gz
| - qui regénère les bases SquidGuard
| - qui relance le service
|
| Le script fonctionne relativement bien, si ce n'est quelques msgs
| d'erreurs lors de la connexion anonyme ftp qui néanmoins se fait ainsi
| que le get du fichier !!!!????!!!!
|
| [execution verbose]
|
| [root@fuji root]# ./majblacklistes.sh
| ++ netrc
| +++ ls -al /root/.netrc
| +++ wc -l
| ls: /root/.netrc: No such file or directory
| ++ var=      0
| ++ '[' 0 == 0 ']'
| ++ echo machine ftp.univ-tlse1.fr
| ++ echo login anonymous
| ++ echo password [email protected]
| ++ chmod u+x /root/.netrc
| ++ preparation
| ++ cd /root/blacklists
| ++ rm --force '*'
| ++ transfert
| ++ cd /root
| ++ ftp
| AUTH not understood
| AUTH not understood
| KERBEROS_V4 rejected as an authentication type
| ?Invalid command
| ?Invalid command
| **********FIN DU TRANSFERT******************
| ++ sleep 1
| +++ date -I
| ++ echo 'transfert correctement effectué à la date du 2004-05-14'
| ++ install
| etc....
|
| Les messages d'erreurs sur l'authentification semblent liés à la section
| suivante du script :
|
| #/bin/sh
| #Mise a jour de la blacklist SquidGuard et Regeneration des bases
| #Generation du .netrc dans ~/
| set -x
| function netrc () {


| var=$(ls -al $HOME/.netrc | wc -l) | if [ $var == 0 ]

le "ls -al | wc -l" est cool pour déterminer si le fichier est vide (et
si le nom du fichier contient des espaces :) mais c'est pas
nécessairement la meilleur façon pour vérifier l'existence d'un fichier.

Considère ceci:

HOME=/foo
NETRC=${HOME}/.netrc

et ensuite on a juste à évaluer si NETRC existe..

if [ ! -e ${NETRC} ]  
then
~     touch ${NETRC};   
fi

if [ -w ${NETRC} ]
then
        # l'utilisateur peut écrire à l'intérieur du fichier..
fi

| function transfert () {
| cd $HOME
| ftp <<**
| open ftp.univ-tlse1.fr
| anonymous
| [email protected]
| cd pub/unix/reseau/cache/squidguard_contrib
| get blacklists.tar.gz

pas besoin de tout répèter, puisque le fichier .netrc contient déjà les
informations nécessaire (man 1 ftp).

FTP_SERVER="ftp.bar.quork"
BLACKLIST_PATH="/some/path/some/where"
BLACKLIST_DIST="blacklists.tar.gz"
INCOMING_DIR="/incoming"


# pas testé ;) ftp<<** open ${FTP_SERVER} cd ${BLACKLIST_PATH} get ${BLACKLIST_DIST} ${INCOMING_DIR}/${BLACKLIST_DIST}

etc.

| A tout hasard, je joins en attachement le script complet.
|
| Merci de vos suggestions pour régler ces erreurs atypiques puisque le
| script se déroule du début à la fin sans problème.
|
| koro
|

HTH,

erob


-----BEGIN PGP SIGNATURE----- Comment: quork teht!

iD8DBQFApQ1kfhO/J4JSDfYRAgHfAKCMTz43Bq/Am0WVFFPT4aVaCu4nmACdF3bl
mEoY8bG4KzQsAR4XbOB9cm4=
=nh5o
-----END PGP SIGNATURE-----