[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

script mise à jour vsftpd et cron



j'ai un pb avec le script croné (qui suit) et qui est censé vérifier toutes les 5mn mon adresse IP sur checkip.dyndns.org. Au cas où l'adresse de mon routeur ait changé, ez-ipupdate l'envoi comme il se doit et tout se passe très bien. Par contre j'ai un petit souçi au niveau de vsftpd : afin d'activer le mode passif pour d'éventuels clients derrière un routeur, je dois indiquer mon adresse IP au dit client et donc faire en sorte que le fichier /etc/vsftpd.conf soit modifié dès que change mon IP ; modifié donc en même temps que l'envoi via ez-ipupdate. Le script fonctionne, le fichier de conf est correctement modifié avec la bonne IP renouvelée. Seulement voilà : le daemon n'a pas l'air de l'avoir pris en compte car impossible de se connecter au ftp : il renvoi au client l'ancienne IP ! Et pourtant j'ai envoyé la sortie de la commande /etc/init.d/vsftpd reload vers /var/log/xxx, sortie correcte qui m'indique que le fichier de conf a bien été relu !
NB :
- ca fait pareil avec un restart
- le reload fonctionne bien lorsqu'il est lancé, "à la main", et également via un script dans lequel il n'y a pas la partie concernant la mise-à-jour dyndns. - un extrait de auth.log : la session root pour cron s'ouvre et se ferme régulièrement, toutes les 5mn. Sauf lors du changement d'IP : la session s'ouvre mais ne se ferme pas. Cela dénote-t-il un problème avec cron ? Et bien-sûr comment le résoudre ?
 (cron) session opened for user root by (uid=0)
 (cron) session closed for user root
 (cron) session opened for user root by (uid=0)
 (cron) session opened for user mail by (uid=0)
 (cron) session closed for user mail
 (cron) session opened for user root by (uid=0)

J'en perds mon latin... Et vous ? Une idée ?
Merci et bonne journée.


NB2 : Je poste ici car pas de réponse sur fr.comp.os.linux.configuration ni sur unix.

#!/bin/bash
# Auteurs :lrj2@pcguys.com et Tichou (fr.comp.os.linux.configuration), entre autres # The scripts used in this How-To are based on scripts submited by #philliptemple and REM_simone, also in this thread.
#http://www.gusnet.cx:8080/gus/proj/ez-ipupdate/userdoc.php?userdoc_action=fullcomment&commentid=110
CONF=/etc/vsftpd.conf
wget --quiet -O - http://checkip.dyndns.org | awk '{print $6}' | sed -e 's/<\/body><\/html>.*//' > /tmp/new_ip
if [ -n "`cat /tmp/new_ip`" ]
then
if [ -n "`diff --brief /tmp/old_ip /tmp/new_ip`" ]
then
/usr/sbin/ez-ipupdate --address `cat /tmp/new_ip` -c /etc/ez-ipupdate/ez-ipupdate.conf
#Mise à jour de vsftpd
IP=`cat /tmp/new_ip`
if [ -f $CONF ]
then
    /bin/sed  -e "s/pasv_address=.*/pasv_address=$IP/" < $CONF > $CONF.tmp
    mv $CONF.tmp $CONF
/etc/init.d/vsftpd restart >> /var/log/xxxx <----- c'est là que ça coince
#Log MAJ
date +"%b %e %k:%M:%S dyndns[$$] : %s $IP" >> /var/log/xxxx
#Envoie Mail (?)
EMAIL="xxxxx"
[-n "$EMAIL"] && echo -e "Adresse IP : $IP\nRésultat : $RESULT" \|> /usr/bin/mail -s "Mise à jour Dyndns" $EMAIL

fi
fi
fi

cp -f /tmp/new_ip /tmp/old_ip
# end of file



--
Pour me répondre, prière d'ôter le "Spam-poum." de mon adresse.



Reply to: