Aller au contenu

[UNIX] exemple de création de script qui envoi un fichier via FTP

On envoi le fichier via ftp mais avant on vérifie que le fichier existe bien et on test si le ftp à bien fonctionné

#!/bin/sh

HOST='NomDuSiteFtp'
LOGIN='Utilisateur'
PASSWORD='MotDePasseUtilisateur'
FICHIER=$1

# Vérification de l'existence du fichier
if [ -f "$FICHIER" ]; then
    echo ""
else
    echo "----------------------------------"
    echo "[ERREUR] Le fichier $FICHIER n'existe pas. Veuillez vérifier son emplacement."
    echo "[ERREUR] Sortie avec code de retour 15"
    echo "----------------------------------"
    exit 15
fi

# Transfert FTP
echo "----------------------------------"
echo "[INFO] Envoi du fichier $FICHIER vers $HOST"
echo "----------------------------------"

ftp -i -n $HOST <<END_SCRIPT
quote USER $LOGIN
quote PASS $PASSWORD
cd incoming
put $FICHIER
get $FICHIER $FICHIER.ftp.tmp
quit
END_SCRIPT

# Vérification du transfert
if [ -f "$FICHIER.ftp.tmp" ]; then
    echo "----------------------------------"
    echo "[INFO] Envoi réussi du fichier $FICHIER vers $HOST"
    echo "----------------------------------"
    rm -f $FICHIER.ftp.tmp >/dev/null 2>&1
    exit 0
else
    echo "----------------------------------"
    echo "[ERREUR] Problème lors de l'envoi du fichier $FICHIER vers $HOST"
    echo "[ERREUR] Sortie avec code de retour 16"
    echo "----------------------------------"
    rm -f $FICHIER.ftp.tmp >/dev/null 2>&1
    exit 16
fi

Je mets mes commandes dans le script ftpPutFile.ksh et je créé un fichier test

je lance mon script avec en paramétre mon fichier

je test avec un fichier qui n’existe pas (fichier toto)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *