Copie avec Rsync
bichoking
Messages postés
89
Statut
Membre
-
linuxnico Messages postés 206 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 !
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:
- Copie avec Rsync
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
- Copie rapide - Télécharger - Gestion de fichiers
7 réponses
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)
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)
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
#!/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
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
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
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 ?
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 ?
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!!!!
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!!!!
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 ?
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 ?
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!!!!
#!/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!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
Mais malheuresement je ne peux plus utiliser rsync car j'ai un probleme de clés que j'ai posté dans le forum. :s
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
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