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: