Script Bash pour chargement FTP
octobre 22, 2008
Je ne suis pas au mieux de ma forme mais voici un petit script pondu pour mettre à jour la racine d’un site web sans passer par gftp (ou tout autre programme d’ailleurs).
#!/bin/bash
echo “===============================================”
echo “= UPLOAD =”
echo “= TO =”
echo “= SERVER =”
echo “===============================================”
echo “”
#Variables utilisées
FTP_SERVER=”perso-ftp.orange.fr” ;
FTP_USER=”my_username” ;
FTP_PASSWORD=”" ;
FTP_FOLDER=”/blabla/root_web/“;
# On référence les fichiers à copier
FTP_FILES=`ls $FTP_FOLDER/*`
echo “Les fichiers suivants vont êtres copiés !!”
echo “——————————————”
for F in $FTP_FILES
do echo $F
done
echo “——————————————”
# Résumé des données
cd $FTP_FOLDER
echo “Serveur : $FTP_SERVER”
echo “User : $FTP_USER”
# Demande du mot de passe
echo -n “Password: “
stty -echo
read FTP_PASSWORD ;
stty echo
# Lancement de la copie
echo “GO”
echo “Chargement du site en cours…” ;
ftp -vin $FTP_SERVER <<EOF
user $FTP_USER $FTP_PASSWORD
binary
mput *
bye
EOF
echo “Fin du chargement.”
Ce n’est pas grand chose, mais c’est bien pratique
# On référence les fichiers à copier
FTP_FILES=`ls $FTP_FOLDER/*`
echo “Les fichiers suivants vont êtres copiés !!”
echo “——————————————”
for F in $FTP_FILES
do echo $F
done
echo “——————————————”
===>
echo “Les fichiers suivants vont êtres copiés !!”
echo “——————————————”
for F in $FTP_FOLDER/*
do echo $F
done
echo “——————————————”
il faut éviter les X=`ls something/*` car les éléments risquent de comporter des caractères communs avec ceux qui sont dans la variable IFS. Par exemple, avec la valeur de base de IFS, s’il y a des fichiers qui ont des espaces dans leurs noms, c’est foutu…
Tu le remplacerais comment ?
debutant et animateur d’un club de foot, je voudrais pouvoir uploader 4 fichiers avec extension MHTML.
ou dois je referencer les fichiers a uploader.
merci d’une reponse.