Comment copier un fichier sur le serveur SFTP qui vient d’être téléversé ou téléchargé ?
Si vous devez copier un fichier dans un autre dossier sur le serveur SFTP après une opération de téléversement ou de téléchargement réussie, vous devez utiliser un déclencheur post-transfert.
Un déclencheur post-transfert est exécuté après un transfert de fichier réussi entre le serveur distant et l’ordinateur local et permet d’exécuter n’importe quelle séquence de commandes shell ou un script shell. Comme paramètres, vous pouvez utiliser des variables intégrées de FTPGetter, telles que la variable %remote_file%, qui représente le chemin complet du fichier transféré sur le serveur SFTP, des variables liées aux dates, et d’autres encore.
Remarque importante ! Pour exécuter des commandes shell sur le serveur SFTP, votre compte doit disposer des droits d’accès shell. Il est très facile de vérifier si vous disposez de ces droits — vous devez pouvoir exécuter des commandes sur le serveur SFTP dans le terminal. Si votre compte sur le serveur SFTP ne dispose pas de ces droits, contactez l’administrateur du serveur SFTP pour demander cette autorisation !
Exemple #1 : Copier le fichier transféré dans un autre dossier sur le serveur SFTP.
Pour effectuer cette opération, ajoutez la commande suivante dans le champ de texte du script shell.
cp %remote_file% /path-to-copy-folder/
Fonctionnement. Après un transfert de fichier réussi, FTPGetter exécute la commande shell cp avec deux paramètres. Le premier paramètre est la variable %remote_file%, qui contient le chemin complet du fichier récemment transféré (sur le serveur SFTP). Le second paramètre est le chemin vers le dossier dans lequel le fichier doit être copié.
Vous trouverez ci-dessous des exemples de différentes commandes shell pour copier des fichiers :
Exemple #2 : Copier un fichier avec un nouveau nom. Ajouter la date actuelle au nom du fichier
cp %remote_file% /path-to-copy-folder/%remote_file_name_only%_%c_yyyy%_%c_mm%_%c_dd%.%remote_file_name_ext%
Exemple #3 : Copier un fichier avec une nouvelle extension. Ajouter l’extension .done
cp %remote_file% /path-to-copy-folder/%remote_file_name%.done
Exemple #4 : Copier un fichier dans un sous-dossier représentant la date actuelle
cp %remote_file% /path-to-copy-folder/%c_yyyy%-%c_mm%-%c_dd%/%remote_file_name%
Ensuite, nous verrons comment renommer ou déplacer, ou décompresser un fichier récemment transféré sur le serveur SFTP.
Vous devez copier un fichier sur l’ordinateur local après le transfert ?


