Synkronisering af filer og data mellem flere servere er afgørende for problemfri funktion. Heldigvis er mange værktøjer tilgængelige online til filsynkronisering, og Rsync er et af dem. Rsync er et af de mest populære og udbredte værktøjer til fjernsynkronisering af data i Linux.
Rsync byder på effektiv filoverførsel, bevarelse af filmetadata, opdatering af eksisterende filer, delvise overførsler og mere. Dette gør Rsync til et ideelt valg for næsten alle administratorer. Så denne vejledning handler om at bruge Rsync-kommandoen i Linux uden besvær.
Sådan bruges Rsync-kommandoen i Linux
De fleste Linux-distributioner indeholder Rsync-værktøjet, men du skal installere det via følgende kommando:
Operativ system | Kommando |
Debian/Ubuntu | sudo apt installer rsync |
Fedora | sudo dnf installer rsync |
Arch Linux | sudo pacman -Sy rsync |
Efter at have fuldført installationen, kør venligst nedenstående kommando for at starte datasynkronisering mellem kilden og målet:
rsync -O kilde mål
Her bør du erstatte kilden med den mappe, hvorfra du vil synkronisere dataene og målrette den med den mappe, hvor du vil gemme disse data. Lad os for eksempel synkronisere mapperne Videoer og Dokumenter ved at køre følgende kommando:
rsync -O Videoer Dokumenter
Hvis du vil kopiere og indsætte data i det samme system, skal du bruge følgende kommando:
sudo rsync - avz / kilde / sti / mål / sti /
- '-a' eller '-arkivet' holder filattributterne intakte under en dataoverførsel.
- Muligheden '-v' eller '-verbose' er at vise, hvilke data der overføres.
- Selvom det er valgfrit, bør du bruge '-z' eller '-compress' muligheden for at komprimere dataene under overførsel. Dette hjælper med at fremskynde synkroniseringsprocessen.
Lad os tage et eksempel og bruge ovenstående rsync-kommando til at synkronisere filer fra Scripts-mappen til Python-mappen:
sudo rsync - avz ~ / Scripts ~ / PythonDesuden er det primære formål med rsync at overføre data eksternt mellem to enheder eller servere, der er forbundet over et netværk:
rsync -af -Det er ssh bruger @ remote_host: / kilde / sti / / mål / stiHer beordrer '-e ssh' muligheden dit system til at bruge den sikre shell/SSH til denne transaktion. Desuden, hvis systemet støder på nogen afbrydelse under en ekstern filoverførsel, skal du ikke bekymre dig. Du kan genoptage det gennem muligheden '–delvis':
rsync --delvis -af -Det er ssh bruger @ remote_host: / kilde / sti / / mål / sti
Tørt løb
Rsync starter filoverførslen umiddelbart efter du har indtastet en kommando. For at undgå eventuelle utilsigtede konsekvenser bør du derfor altid udføre en tørløb først. Under et tørløb demonstrerer dit system blot handlingerne af din kommando uden en egentlig dataoverførsel. Derfor kan du her tilføje '–dry-run'-muligheden for at starte et tørløb. For eksempel, for at se, hvad der kommer til at ske under en datasynkronisering fra Python til Scripts-biblioteket, skal du bruge:
rsync - avz --tørt løb ~ / Python ~ / Scripts
Lav identiske servere
Hvis der er nogle filer i målmappen, som ikke er tilgængelige i kildemappen, resulterer dette i uensartethed, og i nogle tilfælde forårsager det endda unødvendigt diskforbrug. Så du kan bruge '–delete'-indstillingen til at slette data fra målet, som ikke er til stede ved kilden. For eksempel:
rsync -af --slet / kilde / sti / / mål / sti /
Vis fremskridt under overførsler
Hvis du vil se status for din overførsel, skal du indtaste '–fremskridt'-indstillingen for at få vist fremskridtsindikatoren. For eksempel, når fremskridtsindikatoren aktiveres, vil ovenstående eksempel give følgende resultater:
rsync - avz --fremskridt ~ / Python ~ / Scripts
En hurtig opsummering
At mestre rsync-kommandoer giver dig mulighed for effektivt at overføre filer til både lokale og eksterne værter. Det er et robust værktøj til at synkronisere data på tværs af forskellige lokationer. Denne vejledning forklarer udførligt, hvordan du bruger kommandoen rsync i Linux. Først ser vi på rsyncs installation på Linux-systemer. Derefter demonstrerer den udførligt forskellige rsync-kommandoer og -metoder i henhold til brugssituationerne.