Posez votre question Signaler

Copie avec Rsync

bichoking 82Messages postés 11 juillet 2008Date d'inscription - Dernière réponse le 29 juil. 2008 à 16:23
Bonjour,
Je possède un script rsync pour pouvoir effectuer un backup de ma partition. Cependant j'ai un probleme.
En effet, avant mon backup etait efectué toutt les jours et etait incrementielle et donc le nom des dossiers restait :
lundi, mardi....
Mais maintenant je désire (pour me retrouver un peu) intégrer la date au nom des dossiers. Mais le porbleme est que lorsque j'effectuerais mon backup, rsync ne supprimera pas les anciens dossiers datant de la semaine passé.
Voila donc si quelqu'un aurait une solution merci beaucoup !
Lire la suite 

Copie avec Rsync »

10 réponses
Réponse
+0
moins plus
Donne nous ton script, ca sera plus comprehensible...

sinon, tu peux:

1) renommer le rep ou tu veux faire ta sauvegarde ( lundi-22-03 -> lundi )
2) lancer ton script rsync vers le rep lundi
3) renommer ton rep avec la date d'aujourd'hui (lundi -> lundi-24-03)
Ajouter un commentaire
Réponse
+0
moins plus
LE probleme est juste que je ne veux plus garder les noms des jours car apres je ne m'y retrouves plus

#!/bin/sh

#Script backup incremental

VARWWW=/var/www
VARSCRIPT=/var/scripts
ETC=/etc

#EXCLUDES=/data/appli

ARCHIVEROOT=/var/backup/incremental
DIR=`date +%A%Y%m%d`

/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARWWW $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARSCRIPT $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $ETC $ARCHIVEROOT/$DIR
linuxnico - 16 juil. 2008 à 13:17
je comprends pas bien mais bon

a l'heure actuelle, lors d'un sauvegarde dans ton dossier /var/backup/incremental tu te retrouve avec des reps comme ca:

lundi20080714
mardi20080715
mercredi20080716

si c'est ca je continue

1) alors tu veux que dans les noms de rep n'apparaissent pas les "lundi" "mardi" "mercredi"?

si oui, supprimer le %A dans la le dir= et tu aura que 200807xx

2) tu veux juste des reps du style /www /script /etc?
si oui, supprimer le $DIR de tes commandes rsync et remplace par www script ou etc sur la bonne commande

sinon, j'ai rien compris :)

par contre le fait de faire le rsync dans un repertoire distinct a chaque fois ( lund20080714, mardi20080715, mercredi20080716 par exemple pour chaque jours) me parait etrange, puisque au lieu d'une copie incrementielle (ou il ne va copier que ce qui a changer entre le rep de sauvegarde et le rep A sauvegarder) il ne fera qu'une copie entiere, vu que dans le rep de destination il n'y a rien... ou alors j'ai toujours rien compris :-)

dit moi si j'ai pige ou pas
Ajouter un commentaire
Réponse
+0
moins plus
Oui voila c'est ta derniere proposition. Je t'explique :
En faite j'aimerais garder le nom lundi../../.. comme il est maintenant mais j'aimerais en faite que chaque fois qu'un rsync est fait pour tel jour, et ba la date du lundi soit ecrite dans le nom de dossier et la semaine prochaine enfin le lundi d'apres lorsque la nouvelle sauvegarde est effectué, la date doit être modifié afin que la date du nouveau lundi apparaisse dans le nom du dossier a la place de l'ancien lundi.

Me compren tu ?
linuxnico - 16 juil. 2008 à 14:33
donc ma solution première me parait la plus simple, puisque tu veux faire les sauvegarde toujours dans le même rep, mais juste changer la date du rep

principe:

1)on recup le nom du jour: jour='date +%A'
2)on renomme le rep du jour: mv $jour* $jour (on renomme par exemple lundi20080714 en lundi)
3)on fait le rsync vers le dossier $jour
4)on renomme le dossier $jour avec la date d'aujourdh'ui: mv $jour 'date +%A%Y%m%d' (par exemple: lundi en lundi20080721)

et voila!

bien sur je te donne ca de tete, il faut l'essayer sur autre chose que ta rsync!!!!
Ajouter un commentaire
Réponse
+0
moins plus
Merciiii !
Donc maintenant ce que je dois faire c'est d'ecrire cette suite de commandes dans un script.
Mais sinon je pensais a ajouter apres mon rsync : la commande find -atime suivi de exec rm
Non ?
linuxnico - 16 juil. 2008 à 16:02
bah si je reprends ton script ca doit donner un truc comme ca:


#!/bin/sh

#Script backup incremental

VARWWW=/var/www
VARSCRIPT=/var/scripts
ETC=/etc

#EXCLUDES=/data/appli

ARCHIVEROOT=/var/backup/incremental
DIR=`date +%A`
jour=`date +%A`
date=`date +%Y%m%d

#renomme le rep JOURXXYYZZ en JOUR
mv $jour* $jour

#effectue le rsync dans le rep JOUR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARWWW $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARSCRIPT $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $ETC $ARCHIVEROOT/$DIR

#renomme le rep JOUR EN JOURAABBCC
mv $jour $jour$date




Voila, teste le et dit moi si ca marche
ps: renomme tes rep ou change de repertoire archiveroot pour les tests!!!!
Ajouter un commentaire
Réponse
+0
moins plus
Merci beaucoup de ta réponse.
Mais malheuresement je ne peux plus utiliser rsync car j'ai un probleme de clés que j'ai posté dans le forum. :s
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour linuxnico .
Je viens de tester ton script mais celui ci ne fonctionne pas malheuresement
Ajouter un commentaire
Réponse
+0
moins plus
ok quel est le probleme?

sinon, j'ai vu un soucis dans le scrpt, essaye celui la:


#!/bin/sh

#Script backup incremental

VARWWW=/var/www
VARSCRIPT=/var/scripts
ETC=/etc

#EXCLUDES=/data/appli

ARCHIVEROOT=/var/backup/incremental
DIR=`date +%A`
jour=`date +%A`
date=`date +%Y%m%d

#renomme le rep JOURXXYYZZ en JOUR
mv $ARCHIVEROOT/$jour* $ARCHIVEROOT/$jour

#effectue le rsync dans le rep JOUR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARWWW $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $VARSCRIPT $ARCHIVEROOT/$DIR
/usr/bin/rsync -uravH --delete --delete-excluded --exclude-from=$EXCLUDES $ETC $ARCHIVEROOT/$DIR

#renomme le rep JOUR EN JOURAABBCC
mv $ARCHIVEROOT/$jour $ARCHIVEROOT/$jour$date
Ajouter un commentaire
Ce document intitulé « Copie avec Rsync » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook