GET (Transférer/récupérer juste les nouveaux fichiers)
RésoluSAA88 Messages postés 85 Statut Membre -
SVP je cherche sur une commande ou option de get pour le transfère des nouveaux fichiers qui apparaissent sur le serveur distant et ce dernier se fait de serveur distant au serveur local sous FTP
parce-que j'ai créer un script pour le transfert de fichier avec la commande get mais le prb c'est qu'il recopie tous le fichier qui sans sur le serveur et moi je veux juste les nouveaux fichier
- GET (Transférer/récupérer juste les nouveaux fichiers)
- Fichiers epub - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Récupérer compte yahoo sans numéro de téléphone - Guide
- Renommer des fichiers en masse - Guide
- Transférer message whatsapp - Accueil - WhatsApp
3 réponses
Le problème porte sur le transfert des seuls nouveaux fichiers depuis le serveur distant vers le serveur local en FTP, sans recopier l'ensemble du contenu. Les solutions essentielles passent par lftp en ligne de commande, en mode miroir et avec des filtres tels que --only-newer ou --newer-than, et par l'inclusion du répertoire bin dans le chemin d'exécution sous Windows. En pratique, plusieurs réponses suggèrent d'exécuter lftp via l'invite de commande, d'incorporer le chemin bin et d'adapter le script pour limiter le transfert aux fichiers correspondant à un motif ou à une date. Certaines configurations exigent d'indiquer explicitement les chemins local et distant dans le script et de vérifier les droits sur le serveur distant pour que le filtrage et la mise à jour des nouveaux fichiers fonctionnent.
Regarde la commande newer (à la place de get).
Sinon, comme dit précédemment, la commande ftp est un peu limitée, voir plutôt lftp et/ou rsync.
mais pour ton probleme tu pourrais le faire avec un explorateur de fichier et ne jamais remplacer les fichiers.
Si tu es sous linux, il te sutffit d'écrire ftp://login@serveur dans la barre d'adresse ( par exemple ftp://dindoun@ftpperso.free.fr/ ) de ton explorateur
sous windows c'est aussi simple mais je ne sais plus.
Ensuite tu cliques comme si tu étais sur ton dd.
avec lftp :
lftp LOGIN@SERVER -e "get -O REPERTOIRE_LOCAL MON_FICHIER_DISTANT; quit;"
lftp LOGIN:PASSWORD@SERVER -e "mirror REPERTOIRE_DISTANT REPERTOIRE_LOCAL; quit;"
lftp LOGIN:PASSWORD@SERVER -e "mirror -R REPERTOIRE_LOCAL REPERTOIRE_DISTANT; quit;"
#! /bin/bash
LFTP="/usr/bin/lftp"
RAPPORT="/home/jp/temp/rapport.txt"
DATE="$(date '+%d %B %Y')"
EMAIL="/usr/local/bin/email"
ADDR="chez_moi@free.fr"
RM="/bin/rm"
cd /home/jp/Documents/FTP/
echo -e "Rapport sauvegarde FTP FREE du ${DATE}\n\n" > "${RAPPORT}"
${LFTP} chez-free.free.fr -e "cd Doc; mirror DOSSIER/ . ;quit" >> "${RAPPORT}" && echo -e "FTP FREE synchronisé…\n" >> "${RAPPORT}"
echo ""
echo "Liste du ou des nouveau(x) fichiers :" >> "${RAPPORT}"
find . -type f -mtime -1 >> "${RAPPORT}"
${EMAIL} -s "Sauvegarde FTP" -a "${RAPPORT}" "${ADDR}" < "${RAPPORT}"
${RM} -f "${RAPPORT}"
Et voilà un exemple de mail que je recevais à chaque synchronisation :
Rapport sauvegarde FTP FREE du 30 mars 2015
Total : 82 répertoires, 324 fichiers, 0 liens symboliques
Nouveau : 2 fichiers, 0 liens symboliques
2392101 octets transférés en 1 seconde (2.12Mo/s)
To be removed: 0 directories, 6 files, 0 symlinks
FTP FREE synchronisé…
Liste du ou des nouveau(x) fichiers :
./Activité_2/05_Application_Métier/Installation_Configuration_Serveur_OpenERP_v1.pdf
./Activité_2/05_Application_Métier/TP1_Présentation_Découverte_Configuration_S.pdf
J'ai essayé de créer un script sous Windows qui fait le transfère des fichiers automatiquement avec winscp donc voici la syntaxe que j'ai utilisé en ftp et lftp et les deux me donne la mm erreur (me bloque au niveau de replocal) :
open ftp://login:Password@ip
cd /repdistant
lcd Y:\replocal
synchronize -mirror \replocal /repdistant
lftp:
open lftp://login:Password@ip
cd /repdistant
lcd Y:\replocal
synchronize -mirror \replocal /repdistant
et merci pour le script que tu m'a donné :)