Hur man skapar serverbackuper med rsync
Säkerhetskopior bör spela en viktig roll i din serverplanering. Enskilda säkerhetskopior kan konfigureras och utföras snabbt med hjälp av det kostnadsfria synkroniseringsverktyget eller rsync-protokollet.
Hur man konfigurerar rsync-säkerhetskopior på Linux-servrar
För att använda rsync på Linux-operativsystem installerar du protokollet i paketet med samma namn och skapar dina säkerhetskopior med hjälp av terminalkommandon. I följande avsnitt använder vi Ubuntu för att visa dig de viktigaste stegen för att konfigurera säkerhetskopieringsprocesser med rsync. Vi har också inkluderat praktiska exempel.
Rsync är redan installerat i Ubuntu som standard. Om så inte är fallet, använd följande kommando för att installera det:
sudo apt-get install rsyncbashOm rsync är installerat kan du använda terminalkommandon för att ange käll- och målkataloger samt säkerhetskopieringsalternativ. Respektive källkatalog och den katalog där rsync ska lagra säkerhetskopian måste anges som käll- och målvägar. Standardläget (”Arkiv”) körs till exempel på följande sätt:
rsync -a source directory target directorybashAnvänd testkörning -n för att kontrollera att de angivna parametrarna och katalogerna är korrekta. Felaktiga inmatningar kan i värsta fall leda till dataförlust. Om vissa filer inte kopieras som de ska beror det ofta på bristande åtkomsträttigheter. Om detta inträffar kan du prova att köra kommandot som administratör med sudo framför.
Fem exempel på hur man använder rsync-backup
När du väl kan de grundläggande kommandona är rsync ett utmärkt verktyg för att kopiera filer och skapa säkerhetskopior. Du kan antingen testa och tillämpa enskilda kommandokonfigurationer eller använda beprövade kombinationer av de tillgängliga rsync-parametrarna. I följande avsnitt har vi sammanfattat fem populära sätt att utföra rsync-säkerhetskopieringar.
Standardbackup med arkivläge
Arkivläget kopierar alla filer från källkatalogen till målkatalogen, inklusive alla underkataloger. Alla behörigheter, tidsstämplar och enhetsdata behålls. Detta är i många fall den idealiska och enklaste lösningen, eftersom den kombinerar olika alternativ i en enda parameter. Om du kombinerar läget med parametern -v får du också omfattande statusinformation under säkerhetskopieringsprocessen.
rsync -av Source directory Target directorybashRespektive källkatalog och den katalog där rsync ska lagra säkerhetskopian måste anges som käll- och målväg.
Identisk kopia av källkatalogen
Rsync kan inte bara överföra filer från A till B, utan kan också skapa identiska kopior av mappar eller hela kataloger. Efter standardarkivering raderas de filer som fanns i målmappen innan rsync-säkerhetskopieringen ägde rum (men som inte finns i källmappen).
rsync -av --delete Source directory Target directorybashrsync-säkerhetskopiering som exkluderar filer av ett specifikt format
Om du vill köra en rsync-säkerhetskopiering som exkluderar filer i ett specifikt format kan du använda kommandot --exclude för att göra det. Parametern låter dig definiera ett individuellt teckenmönster som rsync använder som en indikator för att ignorera en fil. Följande exempelkod exkluderar .txt-filer.
rsync -av --exclude'*.txt' Source directory Target directorybashSäkerhetskopiera filer med minsta eller största storlek
Om du istället för ett specifikt teckenmönster vill att filstorleken ska påverka uteslutningen av specifika filer i en rsync-säkerhetskopia kan du använda parametrarna --max-size och --min-size. Om du använder följande kommando kopieras endast filer som är minst 10 MB och högst 100 MB stora:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashSäkerhetskopiering inklusive teckenformatkonvertering
Du kan behöva konvertera filer till ett annat teckenformat i målkatalogen. Om du till exempel vill överföra data från en Mac till en Linux-server bör du inkludera teckenformatkonvertering. Apple-enheter använder UTF8-MAC som standard, vilket inte är tillgängligt på Linux-system och skulle orsaka problem med specialtecken. Med alternativ --iconv kan du enkelt anpassa teckenkodningen som en del av rsync-säkerhetskopieringsprocessen (i exemplet nedan från UTF8-MAC till UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashÖversikt över de viktigaste rsync-backupalternativen
Du kan definiera individuella inställningar för dina rsync-säkerhetskopior med hjälp av olika alternativ, som kan förkortas med bokstäver eller skrivas ut i sin helhet. Följande tabell sammanfattar de viktigaste parametrarna, som kan kombineras med varandra efter behov:
| Alternativ | Funktion |
|---|---|
-r, --recursive
|
rsync-säkerhetskopiering tar hänsyn till alla underkataloger |
-u, --update
|
Instruktion att hoppa över filer i målkatalogen som är nyare än de i källkatalogen |
-c, --checksum
|
Skillnad mellan käll- och målfiler baserat på kontrollsummor |
-l, --links
|
Symboliska länkar kopieras som sådana (och inte som filer) |
-p, --perms
|
Filbehörigheter behålls. |
-g, --group
|
Gruppfilbehörigheter behålls. |
-t, --times
|
Filstämplar (senaste ändring) behålls. |
-o, --owner
|
Filägare behålls (endast om de är administratörer) |
-D, --devices
|
Enhetsdata behålls. |
-z, --compress
|
Automatisk komprimering av överförda filer |
--compress-level=NUM
|
Bestämmer komprimeringsnivån; värden (”NUM”) mellan 0 (ingen komprimering) och 9 (maximal komprimering) är möjliga. |
-v, --verbose
|
Mer omfattande detaljer under säkerhetskopieringsprocesserna. |
--quiet``-q
|
Dölj alla detaljer om säkerhetskopieringsprocessen (utom felmeddelanden) |
-a, --archive
|
Arkivläge används som standardläge och är identiskt med alternativkombinationen — rlptgoD |
-n, --dry-run
|
Testkörning där inga faktiska ändringar görs |
-h, --help
|
Hjälpmeny (kan endast användas utan att ange käll- och målkataloger eller andra argument) |
--bwlimit=KBPS
|
Begränsa bandbredden (kilobyte per sekund); t.ex. --bwlimit=30 (begränsning på 30 kbit/s)
|
--exclude=SAMPLE
|
Uteslut ett mönster från synkroniseringen; t.ex. --exclude sample folder (mappen ”sample folder” synkroniseras inte).
|
--delete
|
Ta bort alla filer som finns i målkatalogen men inte i källkatalogen. |
--progress
|
Visa varaktigheten för rsync-säkerhetskopiorna och överföringshastigheten. |
--list-only
|
Visa en lista över filer istället för en säkerhetskopia. |
--stats
|
Omfattande rapport om överförda data (antal, storlek) |
--max-size=SIZE
|
Definiera en maximal filstorlek, t.ex. --max-size=10MB (endast filer med en storlek på upp till 10 MB överförs).
|
--ignore-errors
|
Förhindra avbrytande av säkerhetskopieringen vid fel |