Gendan backup via rsync
Hej alle
Da jeg efterhånden har en anseelig mængde dotfiles som jeg har ændret i, er jeg ved at skrive et script der kan tage backup af filerne for mig.
Det virker også fint, men jeg prøver at lave en mulighed for at gendanne i scriptet, og her hopper kæden af:
Jeg tager backup med følgende rsync-kommando:
Dette giver mig en mappestruktur i /home/user der ser sådan ud:
Jeg kan dog ikke lige finde ud af, hvad kommandoen er for at gendanne fra min backup. Ved nogen det?
Da jeg efterhånden har en anseelig mængde dotfiles som jeg har ændret i, er jeg ved at skrive et script der kan tage backup af filerne for mig.
Det virker også fint, men jeg prøver at lave en mulighed for at gendanne i scriptet, og her hopper kæden af:
Jeg tager backup med følgende rsync-kommando:
rsync -Rav /home/user/.bashrc /home/user/Backup
Dette giver mig en mappestruktur i /home/user der ser sådan ud:
$ tree /home/user/Backup
.
|-home
|---user
|-----.bashrc
Jeg kan dog ikke lige finde ud af, hvad kommandoen er for at gendanne fra min backup. Ved nogen det?
Kommentarer7
Jeg ville ikke bruge -R
Så derfor:
rsync -av /home/user/.bashrc /home/user/Backup/
og
rsync -av /home/user/Backup/ /home/user/
Men hvis du kun vil lave backup af en enkelt fil (.bashrc) er rsync lidt overkill!
Hvis det kun skal være
--include=".**" --exclude="*"
Hej og tak for svarene.
Jeg
Jeg vil også have muligheden for at kopiere hele mapper, så #2's option vil ikke fungere.
#1:
Det var bare et eksempel. jeg agter så bestemt at kopiere flere filer. Hele ideen er, at scriptet tager en eller flere tekstfiler med lister over filer som input, og så kører dem gennem rsync.
Da scriptet er beregnet på at gendanne filer ved fx computerskift, bliver jeg nød til at benytte -R argumentet.
Jeg kan smække scriptet op når jeg bliver færdig, skal lave have gendannelsen til at virke ordentligt.
Da scriptet er beregnet
Hvorfor det? Jeg tror du misforstår dette argument.
Hmm. Jeg vil gerne have en
$BACKUP/home/user/.bashrc
Dette giver -R mig, så vidt jeg kan se.
Hvad skulle der gå galt ved at benytte den switch da?
EDIT: Jeg benytter et for-loop der ser sådan ud:
for file in $(cat $FILELIST)
do
if [ -f $file -o -d $file ];
then
echo "$GREEN:: Now copying: $BLUE$file$NORMAL"
rsync -cRavh $file $BACKUPDIR
else
echo "$RED:: ERROR: $file does not exist.$NORMAL"
fi
done
Hej og tak for
Jeg vil også have muligheden for at kopiere hele mapper, så #2's option vil ikke fungere.
Jeg skulle også mene at den kopiere hele mapper.
Hvad skulle der gå galt
Der er sådan set ikke noget galt, den er bare ikke nødvendig. Men brug den bare hvis du vil.
EDIT: Jeg benytter et for-loop der ser sådan ud:
rsync er beregnet til at synkronisere to mappestrukturer op mod hinanden. Så vidt jeg kan se kopierer du en fil ad gangen, og selv om du godt KAN bruge rsync sådan, vil jeg nok foreslå en simpel cp. Jeg vil i stedet foreslå noget i retning af #2.