Rsnapshot på NAS / USB harddisk - en Time Machine til Linux

Har du en guide til en funktion eller et program? Har du tips og trick, som du gerne vil dele med andre? Post dem her.
Claus Henriksen
Forfatter
Indlæg: 793
Tilmeldt: 21. jan 2007, 17:45
Geografisk sted: Christianshavn

Rsnapshot på NAS / USB harddisk - en Time Machine til Linux

Indlægaf Claus Henriksen » 23. nov 2014, 15:24

Jeg har et stykke tid haft på agendaen at installere rsnapshot. Måske har du hørt om produktet Time Machine der bruges til samme formål, blot til Apples produkter.
Rsnapshot laver snapshots af de mapper man udvælger, således at man f.eks. har hele kopier fra de sidste fem timer/dage/måneder, hvor mange man nu vælger. Alle kopierne fylder tilsammen lidt over en hel kopi af alle data. Grunden til dette er, at der ikke kopieres data, som ikke ændrer sig, men der anvendes hardlinks til eksisterende filer i stedet.
Snapshots'ene ligger typisk på en NFS share (jeg har en Synology NAS) eller en usb harddisk man monterer til formålet.

Det følgende er mine noter for at få det til at spille i Ubuntu 14.04. Jeg har også en howto til rsnapshot til USB harddisk som jeg vil poste herunder.

Min opsætning består af en Synology NAS der er en NFS server i mit hjem, og min families mange Linux PC'ere som så skal snapshotte hjemme-mapper over på NAS'en. PC'erne er forbundne med Wifi eller kabel til vores hjemmenetværk.

(Kommandoer gøres som root - sudo su)

1) køb/lav en NFS server og en share, her kaldt 192.168.47.141:/volumenfs/backup og et monteringspunkt på maskinen: /backup. Hvordan man gør det et andet kapitel for sig, men på de fleste NAS boxe er det ret simpelt.

2) installer nfs-client - apt-get install nfs-common - og læg monteringspunktet ind som en linje i /etc/fstab:
192.168.47.141:/volumenfs/backup /backup nfs auto,soft,intr,rw 0 0
Og monter den - mount /backup

3) lav en rsnapshot mappe på /backup - mkdir /backup/rsnapshot

4) installer rsnapshot - apt-get install rsnapshot

5.) Ret configurationen af rsnapshot
vi /etc/rsnapshot.conf
# pas på!! mellemrum er tabs og hvis du vil skrive mellemrum i exclude patterns skal du bruge spørgsmålstegn ?
snapshot_root /backup/rsnapshot
#no_create_root sættes så vi ved at vi har det rigtige monteringspunkt hvor rsnapshot er en undermappe
no_create_root 1
#mindst een backup linje
backup /home/BRUGERNAVN/ BRUGERNAVNhome/

6) ret i /etc/cron.d/rsnapshot og udkommenter linjerne - eller dem man vil
0 * * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly

7) lav eventuelt en soft link til dit usb snapshotdir fra dit home
ln -s /backup/rsnapshot /home/BRUGERNAVN/.snapshot

8.) ret i rsync opsætningen
# sæt RSYNC_NICE og RSYNC_IONICE for ikke ødelægger din PC performance og ram forbrug når rsync kører
vi /etc/default/rsync
RSYNC_NICE='10'
RSYNC_IONICE='-c3'
RSYNC_OPTS='--drop-cache'

9) test konfigurtionen af:
rsnapshot configtest

10) kør første gang (tager tid)
rsnapshot hourly
# kig i /backup/rsnapshot/ - efter en dags tid skulle det se sådan ud:
$ ls /backup/rsnapshot
hourly.0 hourly.1 hourly.2 hourly.3 hourly.4 hourly.5

11) Optionelt: Kør rsnapshot et minut efter man har hul igennem netværk og kun hvis snapshot mappen findes
gedit /etc/network/if-up.d/rsnapshot
# -- indsæt de to linjer:
#!/bin/sh
/bin/sleep 60 && [ -d /backup/rsnapshot ] && /usr/bin/rsnapshot hourly

# og gør den exekverbar:
chmod +x /etc/network/if-up.d/rsnapshot
# så starter der en snapshot øjelblikkelig hver gang man kommer på netværket
Senest rettet af Claus Henriksen 23. nov 2014, 15:31, rettet i alt 2 gange.
Claus Gårde Henriksen / Jeg bruger ikke Ubuntu / Debian Stable 12

Claus Henriksen
Forfatter
Indlæg: 793
Tilmeldt: 21. jan 2007, 17:45
Geografisk sted: Christianshavn

USB HOWTO

Indlægaf Claus Henriksen » 23. nov 2014, 15:30

RSNAPSHOT til USB HOWTO:

Måske har du kun en USB harddisk til rådighed men det er også godt nok.

1) indsæt og formater en usb harddisk med ext4 eller et andet linux filsystem

2) installer usbmount - apt-get install usbmount - den sørger for at usb keys monteres automatisk
Når du monterer nøglen fremkommer den som /media/usbX

3) lav en mappe på nøglen - kald mappen rsnapshot - den bør kunne ses som /media/usbX/rsnapshot, hvor X er et nummer

4) installer rsnapshot - apt-get install rsnapshot

5.) ret configurationen af rsnapshot
sudo gedit /etc/rsnapshot.conf
# pas på!! mellemrum er tabs og hvis du vil skrive mellemrum i exclude patterns skal du bruge spørgsmålstegn ?
snapshot_root /media/usbX/rsnapshot
#no_create_root sættes så vi ved at vi har den rigtige nøgle hvis der er en rsnapshot undermappe
no_create_root 1
#mindst een backup linje
backup /home/BRUGERNAVN/ BRUGERNAVNhome/

6) ret i /etc/cron.d/rsnapshot og udkommenter linjerne - eller dem man vil
0 * * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly

7) lav eventuelt en soft link til dit usb snapshotdir fra dit home
ln -s /media/usbX/rsnapshot /home/BRUGERNAVN/.snapshot

8.) ret i rsync opsætningen
# sæt RSYNC_NICE og RSYNC_IONICE for ikke ødelægger din PC performance og ram forbrug når rsync kører
vi /etc/default/rsync
RSYNC_NICE='10'
RSYNC_IONICE='-c3'
RSYNC_OPTS='--drop-cache'

9) test af:
rsnapshot configtest

10) kør første gang (tager tid)
rsnapshot hourly
Claus Gårde Henriksen / Jeg bruger ikke Ubuntu / Debian Stable 12

Tilbage til "Guides og HowTo's"

Hvem er online

Brugere der læser dette forum: [Bot] og 0 gæster