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

[Mandrake] shell script ftp automatisé squidGuard



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 ]
        then
        echo machine ftp.univ-tlse1.fr >> $HOME/.netrc
        echo login anonymous >> $HOME/.netrc
        echo password [email protected] >> $HOME/.netrc
        chmod u+x $HOME/.netrc
else
        echo "****Le fichier .netrc existe!!****"
fi
}

function preparation () {
#On vide le repertoire de trasition ~\blacklists des anciens fichiers
cd $HOME/blacklists
rm --force *tar.gz
}

function transfert () {
cd $HOME
ftp <<**
open ftp.univ-tlse1.fr
anonymous
[email protected]
cd pub/unix/reseau/cache/squidguard_contrib
get blacklists.tar.gz
bye
**
echo "**********FIN DU TRANSFERT******************"
sleep 1
echo "transfert correctement effectué à la date du `date -I`" >>
$HOME/blacklists/transfert.log
}
[.....]


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
#/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 ]
        then
        echo machine ftp.univ-tlse1.fr >> $HOME/.netrc
        echo login anonymous >> $HOME/.netrc
        echo password [email protected] >> $HOME/.netrc
        chmod u+x $HOME/.netrc
else
        echo "****Le fichier .netrc existe!!****"
fi
}

function preparation () {
#On vide le repertoire de trasition ~\blacklists des anciens fichiers
cd $HOME/blacklists
rm --force *tar.gz
}

function transfert () {
cd $HOME
ftp <<**
open ftp.univ-tlse1.fr
anonymous
[email protected]
cd pub/unix/reseau/cache/squidguard_contrib
get blacklists.tar.gz 
bye
**
echo "**********FIN DU TRANSFERT******************"
sleep 1
echo "transfert correctement effectué à la date du `date -I`" >> $HOME/blacklists/transfert.log
}

function install () {
mv $HOME/blacklists.tar.gz $HOME/blacklists/blacklist-du-`date -I`.tar.gz
tar zxvf $HOME/blacklists/blacklist-du-`date -I`.tar.gz --directory /var/lib/squidGuard/blacklists
}

function regeneratedb () {
/usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf -C all -d /var/lib/squidGuard/blacklists 
chown -R squid:squid /var/lib/squidGuard/blacklists

        if [ "$?" == "0" ]
        then
                echo "*******La mise à jour a été efectuée avec succès********"
        else
                clear
                echo "Il semble qu'un problème soit apparu, veuillez contacter votre administrateur"
                sleep 2
                exit 1
        fi
}

function restart () {
service squid restart
}

netrc
preparation
transfert
install
regeneratedb
restart