Copie avec Rsync

bichoking Messages postés 89 Statut Membre -  
linuxnico Messages postés 206 Statut Membre -
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 !
A voir également:

7 réponses

linuxnico
 
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)
0
bichoking Messages postés 89 Statut Membre 13
 
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
0
linuxnico
 
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
0
bichoking Messages postés 89 Statut Membre 13
 
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 ?
0
linuxnico Messages postés 206 Statut Membre 10
 
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!!!!
0
bichoking Messages postés 89 Statut Membre 13
 
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 ?
0
linuxnico Messages postés 206 Statut Membre 10
 
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!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bichoking Messages postés 89 Statut Membre 13
 
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
0
bichoking Messages postés 89 Statut Membre 13
 
Bonjour linuxnico .
Je viens de tester ton script mais celui ci ne fonctionne pas malheuresement
0
linuxnico Messages postés 206 Statut Membre 10
 
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
0