Det meste af min familien har købt sig en USB harddisk som de selv kopier de vigtigste billeder og filer over på, dog kan en tyv eller en brænd desværre ubruglig gørre denne type backup, derfor er "remote backup" en god ide og der kommer flere og flere mindre udbydere af denne service, dog er det I DAG lidt dyrt efter min mening.
Se ev artiklen her på forbrug.dk

Da jeg anyway har en server kørende 24x7x365, kan jeg ligeså godt udnytte dette 100%
Derfor har jeg været igang med at se på lidt remote-backup løsning til min familie, via Rsync mm.

Min Familie bruger alle Windows, så klient siden skal under støtte dette...
Server siden er baseret på Debian og Rsync.

Installation og konfiguration af Rsync på Debian Linux

apt-get install rsync

vi /etc/default/rsync

herefter skal rsync opsættes til at køre som service, ved at ændre linjen:
     RSYNC_ENABLE=false
til
      RSYNC_ENABLE=true

Prøver man at starte sync servicen nu, vil det ikke gå godt, der skal først laves en konfigurations file, default (/etc/rsyncd.conf)

vi /etc/rsyncd.conf

Min rsyncd.conf ser ud a'la

----------------------------  conf file start  ---------------------------

#Global
  log file = /var/log/rsync.log
  timeout = 300
  max connections = 5
  transfer logging = true
  socket options = SO_KEEPALIVE
  gid = nogroup
  uid = nobody
  strict modes = false

#Moduler
   #Remote Backup

   [Rbackup-1]
        comment = Remotebackup for xyz....
        path = /data/Rbackup-1
        read only = no
        dont compress = *.tgz *.gz *.bz2 *.iso *.jpg *.jpeg *.tif *.tiff *.
        auth users =    Rbackup-1
        secrets file = /etc/rsyncd.secrets

   [Rbackup-2]
        comment = Remotebackup for xyz....
        path = /data/Rbackup-2
        read only = no
        dont compress = *.tgz *.gz *.bz2 *.iso *.jpg *.jpeg *.tif *.tiff *.
        auth users =    Rbackup-2
        secrets file = /etc/rsyncd.secrets

   [pub]
        comment = Forskelligt download content
        path = /data/pub
        read only = yes
        list = yes
        uid = nobody
        gid = nobody

----------------------------  conf file slut  ---------------------------

Som man kan se referers er i conf filen til /etc/rsyncd.secrets som er en text file der indeholder Rsync bruger og Password.

vi /etc/rsyncd.secrets
----------------------------  conf file start ---------------------------

Rbackup-1:hemmeliglangkode
Rbackup-2:hemmeliglangkode

----------------------------  conf file slut  ---------------------------

Mapperne til de 2 brugere skal oprettes

mkdir -p /data/Rbackup-1
mkdir -p /data/Rbackup-2

Sidst men ikke mindst skal Rsync servicen startes

/etc/init.d/rsync start


Rsync Linux Klient opsætning.

Sidder man på samme netværk som Rsync serveren er det forholdsvis nemt at begynde at synce data til denne fra en linux maskine.

Apt-get install rsync ssh

Herefter vil følgende kommando sende min linux brugers home mappe over på rsync serveren under modulet Rbackup-1 i mappen PC1, sidst nævnte er praktisk hvis der er flere maskiner som skal share samme login, og filerne ikke skal rodes sammen.

rsync -avz ~/ Rbackup-1@RsyncServer::Rbackup-1/PC1

Sidder man remote, som mine brugere vil ovenstående virke, hvis port 873 er tilgængelig på internettet, Rsync har ingen rigtig indbygget kryptering af password kommunikationen så derfor er det kun fornuftig at sikkre denne, via SSH.

Rsync har en indbygget ssh funktion, men når man benytter denne kræver det at ssh brugernavnet stemmer overens med rsync brugernavnet for at man kan benytte moduler fra Rsync serverens konfiguration derfor kan en simpel port forwardning være ligeså praktisk.

ssh -L 873:localhost:873 This email address is being protected from spambots. You need JavaScript enabled to view it.

Her efter vil  følgende kommando virke på samme vis som hvis man sad på det lokale netværk, dog fanges RsyncServeren nu via Localhost

rsync -avz ~/ Rbackup-1@localhost::Rbackup-1/PC1 

Når man køre Rsync via en portforwarded SSH tunnel skal man forvente en performance nedgang.


Rsync Windows Klient opsætning.

Windows maskiner kan også sættes op til at lave backup til en RsyncServer via cwRsync som kan hentes her: http://sourceforge.net/projects/sereds/files/

download og installer pakken:

Tilføj C:\Program Files\cwRsync\bin til System Path Environment variablen

set path=%path%;C:\Program Files\cwRsync\bin

Opret en environment variable som hedder home:

set home=c:\users\%username%

Lokal backup af WindowsUsers hjemme biblotek kan gørres sådan:

rsync -avz  /cygdrive/C/users/WindowsUsers Rbackup-2@RsyncServer::Rbackup-2/Laptop1

Sidder man remote fra, skal forbindelsen igen sikres via SSH.

ssh.exe -L 873:localhost:873 Rback@RsyncServer.domain.dk 

rsync -avz  /cygdrive/C/users/firstuser Rbackup-2@localhost::Rbackup-2/Laptop1

Her har jeg igen, oplevet at på et Gbit Lan, har jeg en performance forskeld på 50% på at køre med / uden SSH.
Uden SSH har jeg kunne kopiere med omkring 200Mbit og via SSH faldt dette til 100Mbit.