GET (Transférer/récupérer juste les nouveaux fichiers)

Résolu
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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
A voir également:

3 réponses

UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158
 
Salut,

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.
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
le problème c'est que j’accède à ce serveur à distance avec winscp et il est configurer avec FTP et moi j'ai pas tous les droits sur ce serveur , et j'ai testé newer déjà , ça marche pas
0
UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158 > SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Si tu y accèdes à distance via winscp, alors tu devrais y accéder avec lftp et/ou même rsync (via ssh) de la même façon et les mêmes droits qu'avec ftp.
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
nn sous winscp j'ai le choix entre 3 protocoles : FTP, SCP, SFTP et quand je coche SFTP et SCP ça ne fonctionne pas au contraire du ftp
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430 > SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Donc lftp doit fonctionner sans problème.
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
j' ai essayé maintenant d’accéder au serveur distant via web lftp://@IP mais ça fonctionne pas et quand je fais ftp ça fonctionne , Je pense que le protocole FTP le seul qui est configuré sur le serveur
0
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   135
 
j'utilise lftp, ca marche bien
mais pour ton probleme tu pourrais le faire avec un explorateur de fichier et ne jamais remplacer les fichiers.
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
dindoun comment je peux travailler avec ce dernier ??
0
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   135
 
avec l'explorateur?
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;"
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Merci didoun pour ton aide , je vais tester ces commandes
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430 > SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Attention aux 2 dernières commandes (avec mirror), et au sens que tu veux pour la synchro de tes répertoires. Lis bien la doc et ne fais pas tes tests sur les vrais répertoires ;-\
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai utilisé lftp et j'ai créé deux répertoire pour faire mon test un sur le serveur distant et l'autre local , mais quand j'ai met la commande mirror et newer il m'a donnée qu'il n'a pas connais le répertoire distant et aussi avec ftp quand j'ai fais la commande synchronize -mirror et neweronly il se bloque au niveaux de rép local il me donne l'erreur : ce répertoire n'existe pas , et avec synchronize both ça fonctionne , je sais pas ou se trouve le probléme exactement !!!! aidez moi SVP
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Affiches-nous la syntaxe exacte que tu emploies.
D'où lances-tu ta commande ?
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Tiens je te mets un exemple de script dont je me suis servi pendant un an pour synchroniser un répertoire sur un FTP (chez Free.fr) avec un dossier dans mon /home.

#! /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
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   > zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention  
 
bonjour,

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é :)
0
UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158 > SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Pour lftp, essaye plutôt comme ça :

open lftp://login:Password@ip
lcd Y:\replocal
mirror -R . /repdistant
0
SAA88 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   > UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention  
 
j'ai essayé le script que tu m'a donné et il m'affiche erreur:
Recherche l’hôte ...
Host does not exist
Y:/ Replocal
Command inconnue 'mirror'
et avec ftp il connait l’hôte , il exécute le script jusqu’à la commande miror et il se bloque
0