Bonjour à tous, ça fait vraiment un moment que je suis devenu indisponible dans cette chère communauté mais je suis content de savoir qu'elle ne cesse d'évoluer, de s'agrandir.
Dans ce post je voudrais partager avec vous quelques scripts shell Unix afin de permettre de travailler automatiquement avec des serveurs FTP.
Ce sont des scripts pouvant permettre de se connecter à un serveur FTP distant, puis fermez la connexion FTP à ce serveur lorsque les fichiers sont transférés.
Nous avons 3 Scripts : Execute_FTP.sh | Parser.sh et le Upload.sh
Le Script Execute_FTP.sh est le script principal qui assurera les fonctionnalités du service FTP.
Le Script Parser.sh se chargera de contenir l'adresse IP, le nom d'utilisateur, le mot de passe, la source et le nom de fichier.
En fin le script Upload.sh qui est l'environnement de commandes.
Codes Sources :
Execute_FTP.sh
Parser.sh
Upload.sh
En espérant que ceux ci peuvent vous être utiles, je signal que toute amélioration sera la bienvenue. Sources : Bmsr256 and Mahi2
Dans ce post je voudrais partager avec vous quelques scripts shell Unix afin de permettre de travailler automatiquement avec des serveurs FTP.
Ce sont des scripts pouvant permettre de se connecter à un serveur FTP distant, puis fermez la connexion FTP à ce serveur lorsque les fichiers sont transférés.
Nous avons 3 Scripts : Execute_FTP.sh | Parser.sh et le Upload.sh
Le Script Execute_FTP.sh est le script principal qui assurera les fonctionnalités du service FTP.
Le Script Parser.sh se chargera de contenir l'adresse IP, le nom d'utilisateur, le mot de passe, la source et le nom de fichier.
En fin le script Upload.sh qui est l'environnement de commandes.
Codes Sources :
Execute_FTP.sh
Code:
./Parser.sh 10.132.207.2 username password /home/mahid/Documents/OUT DiskAlert.txt /tmp/Alert/VDS
Code:
set -x if [ $# != 6 ]; then echo "Usage ./Parser.sh IP USERNAME PASSWORD SOURCE FILENAME DESTINATION where IP ------------- IP address of remote server USERNAME-------- username with which to establish ftp session PASSWORD-------- password for the above mentioned USERNAME SOURCE --------- source directory FILENAME ------- name of the file to be ftped DESTINATION----- path at remote directory at which file is to be kept" exit fi HOME=/home/mahid/Documents/OUT DIRECTORY=$4 LOG=$HOME/LOG EXPECTED_RETURN="221 Goodbye." LIST_OF_FILES=list_of_files cd $DIRECTORY ls -lrt $5* >$LIST_OF_FILES cat $LIST_OF_FILES|while read LINE do filename=`echo $LINE|awk '{print $9}'` size=`echo $LINE|awk '{print $5}'` if [ "$filename" = "" ]; then filename=temp elif [ "$filename" = "_" ]; then filename=temp else echo "Transfering $filename" sh $HOME/upload.sh $filename $1 $2 $3 $6 >$LOG/ftp_log RETURN=`fgrep "221 Goodbye." $LOG/ftp_log` if [ "$RETURN" = "${EXPECTED_RETURN}" ] then mv $DIRECTORY/$filename $DIRECTORY/FTPED/$filename else echo "Unable to establish connection" fi fi done
Code:
FILE=$1 IP=$2 USER=$3 PASS=$4 DESTINATION=$5 #cd OUTPUT/CIRCLE2 ftp -inv $IP<< !EOF user $USER $PASS cd $DESTINATION prompt asc put $FILE Temp_$FILE rename Temp_$FILE $FILE quit !EOF
Commentaire