Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/03/2011, à 16:55

AlexandreW

[résolu] Wput ou lftp pour sauvegarde incrémentielle

Bonjour à tous.
Voila mon prob., j'ai deux serveurs, un synology que j'utilise en temps que serveur réseau local.
Et un Lacie que j'utilise comme serveur distant sur internet en ftp pour les sauvegardes.
Mon Synology est capable de gérer wput et lftp, donc je me suis dit que je vais me faire un script pour faire une sauvegarde une fois par semaine du Synolgy vers le Lacie.
Je suis entrain de faire des tests et tout à l'air de marcher assez bien, sauf que je n'arrive pas à lui dire de faire une sauvegarde incrémentielle, juste des fichiers qui sont les plus récents, normalement autant pour wput que pour lftp c'est l'option "-n", mais voilà ça ne marche pas et je sèche .... hmm
Alors avis aux âmes charitables, ... qui s'y connaissent un peu en wput ou lftp.

PS: je précise que je ne suis pas obliger de prendre ces deux logiciels, mais il me faut quelque chose que le Syno. est capable de gérer, Rsync est également gérer pas le Syno, mais je ne sais pas s'il fait du ftp.

Voici ma ligne de commande pour wput :

wput -N -u -nc -B /mnt/Photos/Bonjour ftp://user:pass@IPftp:port/myshare/Images/

pour lftp :

lftp ftp://user:pass@IPftp:port -e "mirror -e -R --only-newer /mnt/Photos/Bonjour/ /myshare/Images/ ; quit"

Dernière modification par AlexandreW (Le 06/03/2011, à 23:41)

Hors ligne

#2 Le 03/03/2011, à 23:52

AlexandreW

Re : [résolu] Wput ou lftp pour sauvegarde incrémentielle

Bon ok j'avance, je me suis trompé dans wput voici le code qui fonctionne à peu près :

wput -n -u -nc -B /mnt/Photos/Bonjour ftp://user:pass@IPftp:port/myshare/Images/

c'est nul j'ai juste oublié de mettre un -n et pas un -N
Malheureusement il ne supprime pas les fichiers sur le serveur à distance quand les fichiers sont supprimés en local, il modifie effectivement juste les fichiers modifiés et "saute" les fichiers qui non pas bougés (ce qui est parfait), mais ne supprime pas ce qui doit l'être ....
Si quelqu'un a trouvé une solution je suis preneur big_smile
J'ai également regardé du côté de Rsync, et effectivement je n'ai rien vu de concluant sur la prise en main du ftp

Hors ligne

#3 Le 06/03/2011, à 23:29

AlexandreW

Re : [résolu] Wput ou lftp pour sauvegarde incrémentielle

Bon, ....., voilà, je reviens avec les réponses, ... mais j'ai eu peu honte.
Les geeks, un truc tout bête: quand vous faites un transfert ftp en incrémentiel, vérifiez toujours que vos deux serveurs soient à jour roll.
Et oui ! un l'était, l'autre était carrément à la bourre avec plus de 2 ans de décalage !! Forcément quand vous lui demandez de faire uniquement les sauvegardes de fichiers récents,  pour lui tout est récent, donc rebelote on fait tout à chaque fois !!! avec plus de 300Go c'est plutôt long lol.
Pour ce qui est de Wput je l'ai laissé de côté il a l'air bien simple, mais peut être trop simple pour ce que je veux faire.
J'ai suivi plutôt lftp, qui lui est plus complet.
J'ai trouvé un script qui est super sympa de Cobestran que vous pouvez consulter ici.
J'ai dû le modifier pour mes besoins, n'oubliez pas que c'est pour un Synology, mais vous pouvez facilement l'adapter pour un Ubuntu.
Je vous le laisse si jamais ça peut servir :

#!/bin/sh
######################################################################################
##### Sauvegarde fichier d'un site web distant par FTP avec lftp
######################################################################################
## Remarque sur lftp
## + Le -e de mirror efface les fichiers qui n'existent plus.
######################################################################################
## Paramètre en entrée
##     1 : -e ou rien
##         pour effacer tous les fichiers du local qui n'existent plus sur le FTP
######################################################################################
# -R pour inverser les répertoires
# -n pour ne prendre en compte que les modifications (sauvegarde incrémentiel)
# set file:charset utf8; set ftp:charset utf8 pour prendre en compte les éèçà&, ....
# --allow-chown pour garder les droits des groupes et user
######################################################################################
# lftp userFTP:passFTP@servFTP:portFTP -e "set file:charset utf8; set ftp:charset utf8; mirror -R -e --allow-chown -n /mnt/Photos/Bonjour/ '/myshare/Images/'; quit" > /volume1/home/Log/lftp.log 2>&1
###################################################################################### 
# Ignorer des repéretoires => repIgnore="-x /repertoire/qu'on/ne/veux/pas -x /autre/repertoire/qu'on/ne/veut/pas", ne mettre que le repertoire, pas le chemin entier. Par exemple si on veut exclure :home/maison/.Trash-1000 on met -x .Trash-100 # sinon on laisse vide =>repIgnore=""
###################################################################################### 
###################################################################################### 
#set net:max-retries 3 = nombre de 3 tentatives lors d'une erreur rencontrée
#set file:charset utf8 = Tous les fichiers dans le mode utf8
#set ftp:charset utf8 = transfert sur le ftp en mode utf8
###################################################################################### 

# configuration fichier de log
ficLog=
 
# configuration : ftp / user / pass / port
servFTP=
portFTP=
userFTP=
passFTP=

# configuration répertoire 1
repFTP1=
repLocal1=
repIgnore1=" "
# configuration répertoire 2
repFTP2=
repLocal2=
repIgnore2=""
# configuration répertoire 3
repFTP3=
repLocal3=
repIgnore3=""
 
######################################################################################
# debut shell
echo ""
echo "$(date) ######################################################################################" >> ${ficLog}
echo "+-- Debut de la Sauvegarde du $(date) ---" >> ${ficLog}

# Sauvegarde

# commande de copie miroir ftp vers local ou si -R copie miroir local vers ftp <<< 1 >>>
/opt/bin/lftp ftp://${userFTP}:${passFTP}@${servFTP}:${portFTP} -e "set net:max-retries 3; set file:charset utf8; set ftp:charset utf8; mirror -R -e -v --allow-chown -n ${1} ${repIgnore1} ${repLocal1} ${repFTP1} ; quit" >> ${ficLog}
# commande de copie miroir ftp vers local ou si -R copie miroir local vers ftp <<< 2 >>>
/opt/bin/lftp ftp://${userFTP}:${passFTP}@${servFTP}:${portFTP} -e "set net:max-retries 3; set file:charset utf8; set ftp:charset utf8; mirror -R -e -v --allow-chown -n ${1} ${repIgnore2} ${repLocal2} ${repFTP2} ; quit" >> ${ficLog}
# commande de copie miroir ftp vers local ou si -R copie miroir local vers ftp <<< 3 >>>
/opt/bin/lftp ftp://${userFTP}:${passFTP}@${servFTP}:${portFTP} -e "set net:max-retries 3; set file:charset utf8; set ftp:charset utf8; mirror -R -e -v --allow-chown -n ${1} ${repIgnore2} ${repLocal2} ${repFTP2} ; quit" >> ${ficLog}


# résultat de la commande - 0 : ok
res=$? 
#si la sauvegarde est réussie et que vous voulez envoyer un mail, mettre dans then /usr/syno/bin/synomail SVGFini
echo "Résultat de la sauvegarde en ftp sur Lacie: "${res} >> ${ficLog}
if [ ${res} -eq 0 ]; then 
echo "trés bien sans erreur" >> ${ficLog}
else /usr/syno/bin/synomail SVGError
fi
echo "--- Fin Sauvegarde $(date) ---" >> ${ficLog}
######################################################################################
exit $res

Voilà pour moi je note le poste "résolu" et je quitte ce post, mais si quelqu'un veut avoir un script avec envoi de mail ou notification pour Ubuntu ou pour Synology, qu'il m'envoie un mail. wink

Hors ligne

#4 Le 24/09/2012, à 10:02

Wolf

Re : [résolu] Wput ou lftp pour sauvegarde incrémentielle

Bonjour,
J'ai un problème similaire avec mon disque réseau Synology.
Mon but est de copier des fichiers locaux (depuis ma machine ubuntu) vers le disque réseau Synology ..
J'ai bien activé la fonction FTP via l'interface de gestion mais je n'arrive pas à me connecter sur le disque via le FTP :

jo@jo:~$ lftp ftp://admin:mondepasse@adresse_ip:21 -e "mirror -R /media/Datas/essaiRsync /private/essaiRsyncDest ; quit"
mkdir `/private/essaiRsyncDest' [Attente avant reconnexion: 114]  

Il boucle sur "Attente avant reconnexion". Dans les logs du disque, j'ai pas de tentative de connexion / de trace de connexion depuis ma machine.
J'arrive bien à lancer un ping depuis ma machine vers le disque en ayant une réponse positive.
Mauvaise syntaxe ?


"On a pas besoin de leurs dollars. Juste des rêves et sa guitare".

Hors ligne

#5 Le 24/09/2012, à 11:24

AlexandreW

Re : [résolu] Wput ou lftp pour sauvegarde incrémentielle

Je pense qu'il serait bien de prendre autre chose que ftp, il n'est pas assez sur.
Ton serveur est sur internet ou en local ? par rapport à ton ubuntu.

Hors ligne

#6 Le 24/09/2012, à 11:41

Wolf

Re : [résolu] Wput ou lftp pour sauvegarde incrémentielle

Bonjour,
Je me suis orienté vers lftp enfaite.
C'est du local : machine vers disque réseau privé.
Du coup, j'ai réussi à trouver la bonne syntaxe. A voir si je peux crypter les échanges (mdp en clair, bof bof hmm)
Merci quand même smile


"On a pas besoin de leurs dollars. Juste des rêves et sa guitare".

Hors ligne