Uanset om du er en administrator eller en almindelig bruger, har du højst sandsynligt brug for at lave regelmæssige sikkerhedskopier af dine filer eller synkronisere dem mellem flere systemer. Hvis denne opgave kræver overskrivning af alle filer hver gang, vil det være tidskrævende og trættende for dig; Det er her Linux Rsync til fjernserverværktøj kommer til din redning. Denne vejledning vil gøre dig bekendt med de mest nyttige Rsync-kommandoer, så du kan bruge dens hurtige og sikre funktioner.
Hvad er Rsync Utility?
Fjernsynkronisering (Rsync) er en velkendt Linux/Unix-kommando, som du kan bruge til at kopiere og synkronisere filer og mapper via fjernadgang eller lokalt. Ved at bruge Rsync-kommandoen kan du udføre forskellige datarelaterede opgaver, såsom synkronisering, kopiering og sikkerhedskopiering. Derudover kan du spejle dit Linux-system til et andet.
Hovedideen bag at bruge Rsync til fjernserver er at drage fordel af dens hurtige filoverførsel; at transformere data mellem to kilder, tager det kun hensyn til forskellene mellem dem. Med andre ord vil brug af Rsync-kommandoen hjælpe dig med at undgå at miste tid til blind dataoverførsel, da den blot tager højde for forskellene mellem de to Linux-systemer.
Hvorfor bruge Rsync?
Som du måske allerede ved, er der forskellige sikkerhedskopieringsværktøjer tilgængelige. Spørgsmålet er, hvad der gør Rsync-værktøjet unikt sammenlignet med andre værktøjer eller kommandoer?
For eksempel kan du bruge File Transfer Protocol (FTP) at have en lokal kopi af dit websted eller SCP (Secure Copy Protocol) til denne opgave. Disse to har dog begge ulemper. FTP inkluderer ikke datakryptering, hvilket ikke er, hvad vi håber på, og selvom SCP ikke har et ukrypteret overførselsproblem som FTP, tager det stadig mere tid at overføre, da det laver en tunnel for at gøre det.
Derfor, som en alternativ løsning på disse problemer, kan vi bruge Rsync til fjernserver med nøglebaseret kryptering (simpelthen kaldet Rsync SSH eller Rsync over SSH), som forhindrer afsendelse af duplikerede data og bruger en SSH-nøgle. Du skal også bemærke, at Rsync anvender komprimering og dekompression til modtagelse og afsendelse af data, hvilket fører til mindre båndbreddeforbrug.
Hvordan installerer man Rsync?
Du har sandsynligvis allerede Rsync installeret på dit system; ikke desto mindre, lad os komme i detaljer. Før du gør det, skal du være opmærksom på, at SSH allerede skal være installeret i både kilde- og destinationssystemer, da vi ønsker at bruge Rsync over SSH.
Trin 1: Kontrol af SSH-version
Du kan kontrollere versionen af SSH ved hjælp af følgende kommando:
ssh -V
For at synkronisere til en fjernserver skal du have en lokal server, også kaldet kilden, og fjernserveren. Du bør også sikre dig, at den lokale server har administrative rettigheder (sudo).
Trin 2: Installation af Rsync Linux
Følgende kommando gør det muligt for dig at installere Rsync på Ubuntu, Linux Mint og Debian:
sudo apt install rsync -y
Hvis du bruger andre Linux-distributioner, såsom Fedora, CentOS, AlmaLinux og Red Hat, skal du indtaste følgende kommando for at installere Rsync til fjernservertjeneste på dit system:
sudo dnf install rsync
Bemærk: apt er et nyttigt pakkeinstallationsværktøj, der bruges i Debian-baserede distributioner.
Trin 3: Start af Rsync
Du skal nu starte og derefter aktivere Rsync for at begynde at bruge det via følgende kommandoer:
sudo systemctl start rsync
sudo systemctl enable rsync
Trin 4: Bekræftelse af Rsync-installation
Indtast følgende kommando for at sikre, om du har installeret Rsync korrekt, og for at kontrollere, hvilken version du bruger på dit Linux-system:
rsync --version
I det følgende afsnit vil vi diskutere, hvordan du bruger dette værktøjs evne til at lave sikkerhedskopier via nøglebaseret godkendelse.
Hvordan oprettes sikkerhedskopier ved hjælp af Rsync over SSH?
At lave trinvise sikkerhedskopier er en af Rsync over SSH-brugssager. Vær opmærksom på følgende kommando for at forstå, hvordan det virker:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
At køre ovenstående kommando vil hjælpe dig med at synkronisere kildeDir og destinationDir. Denne kommando indeholder andre muligheder, du bør være bekendt med, f.eks -a (arkiv) og -v (udtalt). Bemærk det -e ssh indstilling kræver, at Rsync-forbindelsen er over SSH-protokol.
Hvis du ønsker SSH forbindelse for at blive accepteret over en anden port end standardporten (port 22), skal du nævne portnummeret efter -e ssh. Se på følgende kommando for at forstå, hvordan det virker.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
I ovenstående kommando antager vi, at vi vil bruge 1998 som vores SSH-port i stedet for 22.
Rsync til fjernserver over SSH har andre muligheder, der kan være ret nyttige. For eksempel ved at bruge -delvis mulighed giver dig mulighed for at fortsætte den tidligere delvise overførsel i tilfælde af problemer som Rsync-afbrydelse. Du kan også kende det aktuelle filoverførselsforløb gennem -fremskridt valgmulighed. Plus, Linux Rsync to remote server utility giver dig mulighed for at bruge disse to funktioner samtidigt. For at gøre det kan du bruge -p flag på kommandolinjen.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync til fjernserver med tastekommando giver dig mulighed for at komprimere dataene, før de overføres til destinationen. Selvom det vil bruge din CPU til at fuldføre komprimeringen, er det stadig ret nyttigt, da det gør filoverførsel hurtigere og kræver mindre båndbreddeforbrug.
Du kan bruge kommandoen Rsync til at kopiere filer og mapper, fjerntliggende eller lokale. Den største fordel ved Rsync er, at den er baseret på delta overførsel algoritme, som forhindrer kopiering af duplikerede data fra kilde til destination. Som nævnt før hjælper denne funktion i Rsync til fjernserver-værktøj dig, hvis du vil håndtere daglige backups og systemspejling. Med dette i tankerne, lad os bruge Rsync-kommandoen til lokal brug.
Hvordan bruger man Rsync til lokal synkronisering?
Før vi dykker ned i lokal synkronisering og hvordan man bruger Rsync-kommandoen til det, bør du kende den generelle struktur af lokal Rsync, som er vist nedenfor:
rsync [options] [Source] [Destination]
Kopiering af filer lokalt
Antag, at vi vil synkronisere eller kopiere en fil fra skrivebordsmappen (kaldet Cloudzy) til /home/Offentlig folder; her er hvad du skal bruge for at indtaste:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Ovenstående Rsync-kommando indeholder tre muligheder som -zvh; ved at bruge -z, vil du have din fil komprimeret under overførslen. v mulighed står for verbose output, og h mulighed er det, der hjælper os til at være i stand til at læse output som mennesker, også kaldet at vise menneskelæsbare output.
Kopiering af mapper lokalt
Hvis vi ønsker at kopiere skrivebordsmappen (kaldet Cloudzy) til /home/Offentlig folder; du skal skrive nedenstående kommando:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
De -a mulighed i denne kommando arkiverer mapper og filer under synkronisering.
Du kan hurtigt tjekke listen over mapper for destinationsmappen for at kontrollere, om mappen er blevet kopieret eller ej. For at gøre det skal du bruge følgende kommando:
ls -ld /home/Public
Synkronisering af filer og mapper rekursivt og lokalt (Rekursiv Rsync)
Hvad hvis der var flere mapper og filer i /desktop/Cloudzy, og du ønskede at kopiere dem rekursivt gennem Linux Rsync-kommandoen?
I dette tilfælde bruger du -r mulighed for rekursivt at synkronisere dine lokale filer og mapper. Du kan også bruge arkivmulighed (-a) da det har andre use cases som rekursiv kopiering. Se venligst på følgende kommando for at blive fortrolig med Rsync rekursive kommandoer.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Kopiering af mapper og filer fra lokalt system til fjernbetjening
Bortset fra Linux Rsync til fjernserveregenskaber, som vi nævnte i tidligere afsnit, tillader denne velkendte kommando også synkronisering af filer og mapper fra den lokale maskine til fjernsystemet.
Antag, at vi vil kopiere en mappe (/desktop/Cloudzy/newfolder) fra den lokale maskine til fjernsystemet (med 192.168.1.79) under /mycpt; her er et eksempel, der viser, hvordan dette fungerer:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Hvordan kopierer man mapper uden deres filer ved hjælp af Rsync?
I nogle tilfælde vil vi måske bruge Linux Rsync til fjernserverfunktioner til at kopiere mapper uden filer; denne synkronisering kan være fra den eksterne maskine til det lokale system eller omvendt.
I denne artikel har vi brugt fjernsystemet på 192.168.1.79. Antag, at vi har det under /mycpt mappe og ønsker at kopiere /desktop/Cloudzy mappe fra det lokale system uden at inkludere dets filer. Indtast venligst nedenstående kommando for at gøre det:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Andre nyttige Rsync-kommandoer
Her vil vi diskutere nogle yderligere Linux Rsync-kommandoer, der kan være praktiske for dig.
Bestem maksimal størrelse for filoverførsel i Rsync
Du kan bestemme en grænsestørrelse for filoverførsel ved hjælp af Rsync-kommandoen, hvilket er nyttigt, når du regelmæssigt kører Rsync til en fjernserver og den lokale maskine, hvor båndbredde og tid er væsentlige faktorer at overveje. Vær opmærksom på følgende kommando for at blive fortrolig med indstilling af størrelsesbegrænsninger på Rsync-filoverførsel:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Bestem minimumsstørrelsen for filoverførsel i Rsync
Ligesom at indstille en maks. størrelse for filoverførsel, kan du bestemme minimumsstørrelsen på den fil, du vil overføre med Rsync til fjernserverværktøjet. I nedenstående kommando vil vi indstille den mindste filstørrelse til 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Fjern filer fra kilden efter synkroniseringen er fuldført
Når du er færdig med at bruge Rsync-kommandoen, behøver du muligvis ikke længere have filen på kildesystemet. I dette tilfælde kan du bruge Linux Rsync-kommandoen som nedenfor til at fjerne filerne fra kilden:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Dry Run Sync
Hvis du er ny til Linux Rsync-værktøjet og ikke er bekendt med dets muligheder, en tørløb er en ordentlig vej at gå. Når du bruger dry run med Rsync, vil det ikke ændre filer, men det viser kommandoens output for dig. Når du har sikret dig, at du vil køre kommandoen, kan du fjerne –tørløb mulighed fra det og kør det på terminalen. Se på følgende kommando for at vide mere om dry run-funktionalitet.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Opsummering: Brug af Linux Rsync-kommandoer
Denne artikel forklarede, hvordan du bruger Linux Rsync til fjernserver (og Rsync til lokal server)-funktioner til forskellige brugssager, inkl. systemspejling, oprettelse af en sikkerhedskopi af filer og kopiering af filer og mapper lokalt og eksternt ved hjælp af en effektiv tilgang. Denne velkendte Linux-kommando giver dig mulighed for at drage fordel af hurtig filoverførsel, samtidig med at du kan bruge SSH og datakomprimering.
Få dig selv en økonomi eller premium Linux VPS til hosting af dit websted eller fjernskrivebord til den billigste pris derude. VPS Kører på Linux KVM for øget effektivitet og arbejder på kraftfuld hardware med NVMe SSD-lagring for øget hastighed.
Læs mereDu kan få mest muligt ud af dette operativsystem ved at få en Linux VPS løsning fra Cloudzy, så du kan drage fordel af KVM-baserede hostingplaner. Vi er stolte af at tilbyde dig højtydende VPS-tjenester med 99,95 % oppetid, stabilitet, minimal latens, verdensomspændende datacentre (12 lokationer), ultrahurtig SSD-lagring og 24/7 teknisk support. Du kan begynde at bruge din Linux VPS til $4,95 og skalere den, hvis du ønsker en mere avanceret løsning.
FAQ
Hvilken TCP-port bruger Rsync?
SSH bruger typisk port 22 som standardport. Derfor, når du bruger rsync over SSH, vil det fungere på denne særlige port. På den anden side, når du bruger Rsync-dæmonen, vil port 873 blive brugt.
Hvad er Rsync?
Rsync er et Linux-værktøj, der kan synkronisere filer og mapper eksternt eller lokalt. Ved at bruge Rsync-kommandoen kan du udføre forskellige datarelaterede opgaver, såsom synkronisering, kopiering og sikkerhedskopiering.