Hjælp til rsync
Hvordan laver man backup af flere seperate mapper med eń rsync-sætning? og kan man overhovedet det?
Pt. ser min rsync således ud:
Hver gang der kommer en ny mappe til, tilføjer jeg endnu en linie i mit script.
Kan man ikke lave det mere simpelt med en --include=PATTERN eller --include-from=FILE?
Bare det kan laves mere simpelt således at jeg kun skal skrive en evt. sti i en include-fil?
Jeg har forsøgt lidt med --include-from=FILE dog uden held.
Pt. ser min rsync således ud:
#!/bin/bash
#
# backup.sh Backup af filer til nas-server
# -v = increase verbosity - skriver på skærmen hvad der foretages (jo flere v'er, jo mere skrives der)
# -a = archive mode - alt skal gemmes
# --log-file = siger sig selv
# --progress = viser tilstanden under overførslen
# --delete = sletter data på destination som også er slettet på sourcen
# --exclude "*~" = overføre ikke filer med benævnelsen .~ - hvilket kommer efter ændring af en fil
# --exclude-from = overføre ikke de mapper der er beskrevt i filen exclude.txt
# -e = remote shell - fortæller rsync at ssh forbindelsen skal bruges
#Backup af documents:
echo Backup documents...
rsync -av --log-file="rsync_docu.log" --progress --delete --exclude "*~" --exclude-from 'exclude.txt' -e "ssh -C -p 44" ~/Documents/ admin@10.0.0.120:/share/HDA_DATA/Vhome/Documents
#Backup af musik:
echo Backup music...
rsync -av --log-file="rsync_mp3.log" --progress --delete --exclude "*~" --exclude-from 'exclude.txt' -e "ssh -C -p 44" ~/Music/ admin@10.0.0.120:/share/HDA_DATA/Vhome/Music
#Backup af download:
#echo Backup download...
#rsync -av --log-file="rsync_down.log" --progress --delete --exclude "*~" --exclude-#from 'exclude.txt' -e "ssh -C -p 44" ~/Download/ admin@10.0.0.120:/share/HDA_DATA/#Vhome/Download
#Backup af billeder:
echo Backup pictures...
rsync -av --log-file="rsync_pics.log" --progress --delete --exclude "*~" --exclude-from 'exclude.txt' -e "ssh -C -p 44" ~/Pictures/ admin@10.0.0.120:/share/HDA_DATA/Vhome/Pictures
#Backup af film:
echo Backup movies...
rsync -av --log-file="rsync_movie.log" --progress --delete --exclude "*~" --exclude-from 'exclude.txt' -e "ssh -C -p 44" ~/Videos/ admin@10.0.0.120:/share/HDA_DATA/Vhome/Videos
#Backup af diverser:
echo Backup files...
rsync -av --progress -e "ssh -C -p 44" ~/.ssh/ admin@10.0.0.120:/share/HDA_DATA/Vhome/.ssh
rsync -av --progress -e "ssh -C -p 44" ~/.kde/share/apps/basket/ admin@10.0.0.120:/share/HDA_DATA/Vhome/.kde/share/apps/basket
rsync -av --progress -e "ssh -C -p 44" ~/.evolution/ admin@10.0.0.120:/share/HDA_DATA/Vhome/.evolution
rsync -av --progress --exclude-from 'exclude_moz.txt' -e "ssh -C -p 44" ~/.mozilla/ admin@10.0.0.120:/share/HDA_DATA/Vhome/.mozilla
Hver gang der kommer en ny mappe til, tilføjer jeg endnu en linie i mit script.
Kan man ikke lave det mere simpelt med en --include=PATTERN eller --include-from=FILE?
Bare det kan laves mere simpelt således at jeg kun skal skrive en evt. sti i en include-fil?
Jeg har forsøgt lidt med --include-from=FILE dog uden held.
Kommentarer1
rsync
Som jeg læser 'man rsync', bruges include, include-from til at modificere din exclude. F.eks. hvis du har excluded alle skjulte filer og directories med wildcard og ønsker backup af mail og bogmærker i browseren, kan du putte dem i include.txt.
Disclaimer: Jeg har ikke prøvet det. Det er kun hvad jeg får ud af at læse 'man rsync'. Prøv det på eget ansvar :-')