vsftp script de mise a jour de l'ip public en mode passif

Le
Apock
Bonjours a tous
apres une recherche sur le forum jai trouvé ce script :
#!/bin/s

# TiChou fr.comp.os.linux.configuratio
# Paramètres DynDN

USERNAME="login
PASS="pass
HOST="host.dyndns.org
#WILDCARD=OF
#MX="mx.domain.tld
#MXBAK=N


# Adresse mai
EMAIL="postmaster


# Fichier de configuration vsftp
VSFTPDCONF=/etc/vsftpd/vsftpd.con


# Récupération de l'IP Interne
IP=$(/usr/bin/lynx –dump [checkip.dyndns.org] |
/usr/bin/awk '/Current IP Address/ { print $4 }'


# Récupération de l'ancienne I
IPOLD=$(/usr/bin/awk 'END {print $6}' /var/log/dyndns 2/dev/null
if [ –n “$IP” –a “$IPOLD” != “$IP”
the

# Mise à jour de vsftp
if [ –f $VSFTPDCONF
the
/usr/bin/sed –i –e “s/^(pasv_address=).*/1$IP/” $VSFTPDCON
/bin/killall –HUP vsftpd 2/dev/nul
f
# Mise à jour DynDN
URL="http://members.dyndns.org/nic/update?system=dyndns&offline=NO
URL="$URL&hostname=$HOST&myip=$IP
[ –n “$WILDCARD” ] && URL="$URL&wildcard=$WILDCARD
[ –n “$MX” ] && URL="$URL&mx=$MX
[ –n “$MXBAK” ] && URL="$URL&backmx=$MXBAK
RESULT=$(/usr/bin/lynx –source –auth="$USERNAME":"$PASS” “$URL” 2&1
| /usr/bin/perl –p –e 's////;s/s+/_/g'


# Log de la mise à jou
date +"%b %e %k:%M:%S dyndns[$$]: %s $IP $RESULT” /var/log/dyndn


# Envoit mai
[ –n “$EMAIL” ] && echo –e “Adresse IP : $IPRésultat : $RESULT”
| /usr/bin/mail –s “Mise a jour DynDNS” $EMAI

f

Que j'ai modifé afin de repondre a mon besoin
#!/bin/s
# TiChou fr.comp.os.linux.configuratio
# Modifié Apoc
# Fichier de configuration vsftp
echo "Mise a jour vsftpd
VSFTPDCONF=/etc/vsftpd/vsftpd.con
# Récupération de l'IP Interne
IP=$(/usr/bin/lynx -dump [checkip.dyndns.org] |
/usr/bin/awk '/Current IP Address/ { print $4 }'
# Récupération de l'ancienne I
IPOLD=$(/usr/bin/awk 'END {print $6}' /var/log/dyndns 2/dev/null
if [ -n "$IP" -a "$IPOLD" != "$IP"
the
# Mise à jour de vsftp
if [ -f $VSFTPDCONF
the
/usr/bin/sed -i -e "s/^(pasv_address=).*/1$IP/" $VSFTPDCON
/bin/killall -HUP vsftpd 2/dev/nul
# Log de la mise à jou
date +"%b %e %k:%M:%S dyndns[$$]: %s $IP $RESULT" /var/log/dyndn
fi

En démarage manuel j'obtient un message d'ereur :
Mise a jour vsftp
: command not found

Est ce quelqu'un aurait une idée de l'origine du problème

--
Apock

--
Voir theme: http://www.frbox.net/viewtopic-506075.htm

Envoyé de http://www.frbox.ne
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
TiChou
Le #1665887
Dans le message *Apock* tapota sur f.c.o.l.configuration :

Bonjours a tous,


Bonjour,

apres une recherche sur le forum jai trouvé ce script :
#!/bin/sh
#
# TiChou fr.comp.os.linux.configuration
# Paramètres DynDNS


[...]

Je ne sais pas quelles archives Usenet vous utilisez, mais en tout cas le
message a été reformaté et le script d'origine s'en est trouvé modifié.
Sur les archives de Google, vous retrouverez le message d'origine :

http://groups.google.fr/group/fr.comp.os.linux.configuration/msg/39701386236187f8?dmode=source

Que j'ai modifé afin de repondre a mon besoin :


#!/bin/sh

echo "Mise a jour vsftpd"

VSFTPDCONF=/etc/vsftpd/vsftpd.conf
DYNDNSLOG="/var/log/dyndns"

# Récupération de l'IP Internet
IP=$(/usr/bin/lynx -dump http://checkip.dyndns.org |
/usr/bin/awk '/Current IP Address/ { print $4 }')

# Récupération de l'ancienne IP
IPOLD=$(/usr/bin/awk 'END {print $6}' "$DYNDNSLOG" 2>/dev/null)

if [ -n "$IP" -a "$IPOLD" != "$IP" ]
then

# Mise à jour de vsftpd
if [ -f "$VSFTPDCONF" ]
then
/usr/bin/sed -i~ -e "s/^(pasv_address=).*/1$IP/" "$VSFTPDCONF"
/bin/killall -HUP vsftpd 2>/dev/null
fi

# Log de la mise à jour
date +"%b %e %k:%M:%S dyndns[$$]: %s $IP $RESULT" >> "$DYNDNSLOG"

fi

/! non testé

Mon message actuel dans son format d'origine sur Google :

http://www.google.fr/groups?selm=&dmode=source

--
TiChou

Apock
Le #1649020
TiChou wrote et j'ai remodifié:
#!/bin/sh
echo "Mise a jour vsftpd"
VSFTPDCONF=/etc/vsftpd/vsftpd.conf
DYNDNSLOG="/var/log/dyndns"
# Récupération de l'IP Internet
IP=$(/usr/bin/lynx -dump http://checkip.dyndns.org | /usr/bin/awk '/Current IP Address/ { print $4 }')
# Récupération de l'ancienne IP
IPOLD=$(/usr/bin/awk 'END {print $6}' "$DYNDNSLOG" 2>/dev/null)
if [ -n "$IP" -a "$IPOLD" != "$IP" ]
then
# Mise à jour de vsftpd
if [ -f "$VSFTPDCONF" ]
then
/usr/bin/sed -i~ -e "s/^(pasv_address=).*/1$IP/" "$VSFTPDCONF"
/bin/killall -HUP vsftpd 2>/dev/null
echo "Mise a jour OK"
fi
# Log de la mise à jour
date +"%b %e %k:%M:%S dyndns[$$]: %s $IP $RESULT" >> "$DYNDNSLOG"
echo "Fichier Log OK"
fi



J'ai remodifié legerement le script (affichage echo) et j'obtient une
erreur assez enuyante en testant le fichier :
- a la ligne 21 (la dernière): Syntax error near unexpexted token 'fi'
que je ne comprend pas trop puisque qu'il clot la première
conditionnelle (normal quoi!!).


TiChou
Le #1662245
Dans le message *Apock* tapota sur f.c.o.l.configuration :

[...]

J'ai remodifié legerement le script (affichage echo) et j'obtient une
erreur assez enuyante en testant le fichier :
- a la ligne 21 (la dernière): Syntax error near unexpexted token 'fi'
que je ne comprend pas trop puisque qu'il clot la première conditionnelle
(normal quoi!!).


Peut être un problème de retour à la ligne écrit avec un éditeur au format
DOS ?

--
TiChou

Apock
Le #1652035
TiChou wrote:
Dans le message *Apock* tapota sur f.c.o.l.configuration :

[...]

J'ai remodifié legerement le script (affichage echo) et j'obtient une
erreur assez enuyante en testant le fichier :
- a la ligne 21 (la dernière): Syntax error near unexpexted token 'fi'
que je ne comprend pas trop puisque qu'il clot la première
conditionnelle (normal quoi!!).


Peut être un problème de retour à la ligne écrit avec un éditeur au
format DOS ?

Exacte un problème de retour de ligne reglé par dos2unix.

La mise a jour du fichier vsftpd.conf fonctionne maintenant correctement
(configuré pour être mise a jour avec Cron).

Merci de ton aide.


Publicité
Poster une réponse
Anonyme