Säkerhetskopiera filer med hjälp av “rsync” i Linux

rsync är ett program för linux som jag nyligen lärt mig använda, potentialen är helt klart grym, men från mina egna erfarenheter, så kräver den en dator baserad på någon linux distribution, men i övrigt ett kanonprogram! Testat under Debian och Ubuntu.

Jag kommer lista ett par användningsområden, ett där vi kopierar filer från en katalog till en annan, och ett annat alternativ där vi kopierar filer från en lokal sökväg till en dator utanför nätverket (remote/co-location).

#
Enklast möjliga varianten är att bara kopiera filer från ett ställe lokalt till nån annanstans (fortfarande lokalt), detta görs genom följande kommando:
rsync -avr /path/that/you/wanna/copy/from/ /destination/path

Om du vill kopiera filer som är minst 50KB stora från en katalog till en annan, kör följande:
rsync -avr –min-size=50KB /path/that/you/wanna/copy/from/ /destination/path

Om du istället önskar kopiera filer från en lokal dator till en remote:
rsync -avr –progress –rsh=’ssh pPORT’ /path/that/you/wanna/copy/from user@ip:/destination/path (det här kommandot använder ssh, vilket kräver att det är installerat på lokala datorn samt fjärrdatorn. “–rsh=’ssh pPORT’ är enbart nödvändigt om destinations SSH har en annan port än default (22), PORT ändras så klart till porten i fråga)

Om du vill göra en automatisering av backupen som du lägger i /etc/crontab (mer om den filen senare), så kör följande på lokala datorn:
ssh-keygen (tryck på enter när den frågar om passphrase, kopiera sedan ~/.ssh/id_rsa.pub till fjärrdatorn, detta gör du t.ex med: scp ~/.ssh/id_rsa.pub user@ip:/destination/path under användaren du vill använda, t.ex. /home/user/.ssh/ och döp om filen du lagt där till authorized_keys, detta kan du göra med kommandot mv /home/user/.ssh/id_rsa.pub /home/user/.ssh/authorized_keys )

För att skapa ett cronjob (schemalagd aktivitet) så skapa först en fil i din användarkatalog, döp den till syncfiles.sh
redigera filen: nano syncfiles.sh (sudo kan behövas om du kör Ubuntu), skriv följande i filen om du vill skapa en co-location backup:
#!/bin/bash
rsync –avr –progress –rsh=’ssh -p22′ /local/files/you/wanna/backup/ user@ip:/destination/path

(tryck CTRL+X följt av Y för att spara)

Vill du hellre bara göra en lokal backup, skriv följande i filen istället:
#!/bin/bash
rsync –avr –progress /local/files/you/wanna/backup/ user@ip:/destination/path

(tryck CTRL+X följt av Y för att spara)

Härnäst ska vi redigera /etc/crontab för att skapa schemaläggning, skriv först följande för att redigera filen:
nano /etc/crontab (sudo behövs vid Ubuntu-användande)

Lägg till följande text innan sista #-tecknet:
0 9 * * * /path/to/syncfiles.sh

(detta skapar en backup-aktivitet varje dag klockan 0900. 0:an är minut, här :00, 9:an är timme, första * är datum, andra * är “månad”, sista * är veckodag, allt baseras på siffor, så om man vill göra en backup varje tisdag kl 15:45 så skriver man 45 15 * * 2 /path/to/syncfiles.sh )

Hoppas någon blivit något klokare och att ni får användning av guiden 🙂

Advertisements
By slacker666 Posted in Linux

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s