Hoe rsync te brûken foar backups

Skriuwen · 30 okt 2020

Hoe rsync te brûken foar backups

Útlis fan in krêftich bestânsoerdrachtark

It is tige wichtich om backups fan dyn gegevens te meitsjen, want do witst nea wannear’t de ramp oerkomt! Ien krêftich ark dat op alle platfoarms wurket en dêrby helpt is ‘rsync’. Yn dit berjocht lis ik út wêrom’t rsync nuttich is en hoe’t do it brûke kinst om dyn eigen backups yn te stellen.

Rsync

Sûnt it yn 1996 makke is (troch Andrew Tridgell en Paul Mackerras) is rsync útgroeid ta in standert ark dat beskikber is op populêre GNU/Linux-distribúsjes, Apple macOS, FreeBSD, NetBSD, OpenBSD en (fia Cygwin of WSL) op Windows.

Wichtichste funksjes

Rsync wurdt typysk brûkt foar it syngronisearjen fan bestannen en mappen tusken twa ferskillende kompjûters. It kin SSH brûke om te ferbinen mei in oare kompjûter en bestannen oer te setten. Njonken kompjûters op ôfstân kinst rsync brûke om te syngronisearjen mei eksterne hurde skiven en NAS-stasjons (network attached storage). Rsync is populêr om’t:

  • It wurdt útbrocht ûnder de GNU General Public License, wêrtroch’t it frije software is; frij as yn “frije mieningsútering” en “frij bier”
  • It algoritme fan rsync is in soarte fan delta kodearring, wat betsjut dat it gegevens- en netwurkferkear minimalisearret, om’t it allinnich de dielen fan de bestannen kopiearret dy’t feroare binne. Dêrneist kinne gegevens komprimearre wurde om it oerdrachtferkear noch fierder te optimalisearjen.
  • It kin ûnderbrutsen oerdrachten fuortsette mei kontrôlesommen. Dat lit rsync flaters opspoare as in bestân fan it iene plak nei it oare kopiearre wurdt. As twa bestannen mar ien bit ferskille, soene har kontrôlesommen ferskillend wurde. Kontrôle fan kontrôlesommen is in effisjinte manier om te kontrolearjen dat elke byte goed op syn bestimming oankaam.

Rsync ynstallearje

As do GNU/Linux, *BSD of Apple macOS hast, hast rsync wierskynlik al ynstallearre. As do Windows hast, kinst nei it Windows Subsystem for Linux of WSL sjen om tagong te krijen ta alle standert GNU/Linux-ark. As alternatyf foar WSL kinst Cygwin brûke om de grutte kolleksje GNU- en Open Source-ark op Windows te ynstallearjen.

Typysk gebrûk fan rsync

Rsync brûke giet fia de kommandorigel, of terminal. Do fierst it kommando ‘rsync’ út, folge troch (opsjonele) flaggen, in boarnepaad en in bestimmingspaad.

Typysk rsync-kommando, mei de flaggen -arvz, in My-Source-Directory en My-Remote-Directory op in server
Typysk rsync-kommando, mei de flaggen -arvz, in My-Source-Directory en My-Remote-Directory op in server

Mei de flaggen -arvz stelst do rsync yn om:

  • a: “archive”-modus dy’t tagongsrjochten, oanmak- en lêste wizigingstiden behâldt
  • r: “recursive”-modus lit rsync submappen binnen de boarne-/doelmappen rekursyf syngronisearje
  • v: “verbose” set mear praatsume útfier op de konsole oan, sadat do de foarútgong rigel foar rigel folgje kinst
  • z: “compress” set kompresje fan gegevens oan as se nei de bestimmingsmasine stjoerd wurde, wat de hoemannichte oerdroegen gegevens ferleget, nuttich oer trage of mjitten ferbiningen
  • --delete: lit bestannen oan de kant op ôfstân fuortsmiten wurde as se út de boarnemap fuortsmiten wurde. Wês foarsichtich mei dizze opsje!

Der binne in protte oare flaggen en opsjes wêrmei’t do it gedrach fan rsync oan dyn behoeften oanpasse kinst. Besjoch de man-side fan rsync foar in folsleine list fan alle opsjes.

Hoe rsync te brûken foar backups fan bestannen

Yn it folgjende foarbyld brûk ik rsync om in map (“Sample-Files”) op myn Windows 10-buroblêd nei in server op ôfstân te kopiearjen. Ik brûk WSL op Windows om in wurkjende Debian GNU/Linux-omjouwing yn myn Windows Terminal te hawwen.

rsync brûke op Windows 10 mei WSL
rsync brûke op Windows 10 mei WSL

Lit my it kommando útlizze dat ik brûk:

  • rsync is de namme fan it programma dat ik brûk
  • -arvz binne de flaggen dy’t rsync ynstelle om in argivearre backup te meitsjen, mei submappen, en gegevens oer te setten mei kompresje
  • /mnt/c/Users/mail/Desktop/Sample-files/ is it paad nei de boarnemap sa’t dy sjoen wurdt troch de WSL-mapstruktuer. It wiist nei myn Windows-buroblêd (dat op de C:-skiif stiet)
  • willem @ store.willem.com:./Backup is de bestimming, dy’t do lêze moatst as “brûker willem op de server ‘store.willem.com’”, en “op dy server” brûk de map “Backup” binnen de “./” thúsmap fan de “brûker willem”.

As do dit kommando foar it earst útfiere, wurdt de kryptografyske fingerôfdruk fan de server op ôfstân toand. Dy wurdt brûkt om te soargjen dat do mei dyn server praatst. Dat foarkomt dat hackers har foar dyn server útjouwe sûnder dat do it merkst (want de fingerôfdruk is unyk foar dyn server. As rsync in feroaring yn dizze fingerôfdruk opmerkt, wegeret it bestannen oer te setten. Dit is kritysk, want it kopiearjen fan dyn backups nei in ûnbekende bestimming op ôfstân soe in mooglik risiko op gegevenslekken wêze!

Der wurdt om dyn wachtwurd frege as do fia SSH ferbine sûnder autentikaasje mei kaaien. Dat is prima as do fan doel bist dyn bestânsoerdracht mei de hân út te fieren, mar as do oerdrachten automatisearje wolst, wolst miskien autentikaasje mei kaaien ynstelle (mei it handige kommando “ssh-copy-id”). Dyn kompjûter kin dan feilich ynlogge op de masine op ôfstân sûnder mei de hân in wachtwurd yn te fieren.

rsync brûke om bestannen fan myn Windows 10-buroblêd nei in Debian GNU/Linux-server oer SSH te kopiearjen (mei WSL)
rsync brûke om bestannen fan myn Windows 10-buroblêd nei in Debian GNU/Linux-server oer SSH te kopiearjen (mei WSL)

As rsync mei sukses ferbine kin, giet it troch mei it bepalen fan hokker bestannen oerset wurde moatte. As do de flagge “-v” ynsteld hast, sjochst do de foarútgong rigel foar rigel. Nei it ôfmeitsjen fan de oerdracht slút rsync ôf mei in gearfetting.

Ynkrementele oerdrachten

De partytrúk fan rsync is dat it ynkrementele gegevensoerdrachten standert stipet. As do wat nije bestannen hast en dan itselde rsync-kommando nochris útfierst, sil it allinnich de bestannen oerdrage dy’t oerset wurde moatte.

Nei it tafoegjen fan de Molkewei-foto oan myn foarbyldbestannen fier ik rsync nochris út om myn bestannen ynkrementeel oer te setten, wêrby’t allinnich it nije bestân kopiearre wurdt
Nei it tafoegjen fan de Molkewei-foto oan myn foarbyldbestannen fier ik rsync nochris út om myn bestannen ynkrementeel oer te setten, wêrby’t allinnich it nije bestân kopiearre wurdt

Do kinst op de foto fan it skerm sjen dat rsync it nije bestân automatysk opspoarde. It hat allinnich dat bestân nei de server op ôfstân oerset. Dat bewarret bânbreedte, tiid en ferwurkingskrêft. It wurket mei nije bestannen en bestannen dy’t bywurke binne.

Opsjoneel kinst de flagge “--delete” brûke om lokale fuortsmiten troch te jaan oan de doelmap, wêrmei’t in perfekte spegelôfbylding fan de lokale bestânsstruktuer ûntstiet. Foar backupdoelen kinst sels beslute dit oer te slaan (want do kinst bestannen per ûngelok fuortsmite).

Oerdrachten en backups automatisearje

Om’t rsync “gewoan in terminalkommando” is, kinst it maklik yn dyn eigen skripts brûke. Tink oan in skript as in kolleksje rsync-kommando’s dy’t in set fan “boarne”- en “bestimmings”-keppelings tusken dyn bestannen en har oerienkommende backuplokaasjes foarmje.

Do kinst dyn skript plannen om automatysk op in bepaalde dei fan de wike en tiid fan de dei útfierd te wurden. Op GNU/Linux, *BSD en macOS kinst hjirfoar cron brûke. Op Windows kinst de app “Taakplanner” brûke.

Konklúzje

Mei rsync kinst do bestannen effisjint, feilich en ynkrementeel fan dyn kompjûter nei in oar systeem oerdrage. It kin in krúsjaal ark wêze yn dyn backupskema.

It is frij en breed beskikber. Syn prestaasje en betrouberens binne breed fêststeld. Der is echt gjin ekskús foar wêrom’t do dyn backups net goed ynstelle soest!

← Mear ferhalen