Annonce

Réduire
Aucune annonce.

Travailler automatiquement avec des serveurs FTP grâce aux Scripts Shell

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Travailler automatiquement avec des serveurs FTP grâce aux Scripts Shell

    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
    Code:
    ./Parser.sh 10.132.207.2 username password /home/mahid/Documents/OUT DiskAlert.txt /tmp/Alert/VDS
    Parser.sh
    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
    Upload.sh

    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
    En espérant que ceux ci peuvent vous être utiles, je signal que toute amélioration sera la bienvenue. Sources : Bmsr256 and Mahi2

    <?php
    $signature = NULL;
    ?>

  • #2
    merci pour les scripts

    Commentaire

    Chargement...
    X