Rsync: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
Rad 1: Rad 1:
= RSync: Effektiv Filöverföring och Synkronisering =
== rsync - Synkronisera filer och kataloger ==
Kommandot `rsync` används för att synkronisera filer och kataloger mellan olika platser i ett Unix-liknande operativsystem. Det kan synkronisera filer lokalt och över nätverk.


I en värld där data kontinuerligt växer och behovet av att snabbt och effektivt flytta den ökar, har verktyg för filsynkronisering och backup tagit en central roll. Ett sådant verktyg, som har blivit oumbärligt för systemadministratörer, utvecklare och IT-professionella, är '''rsync'''. rsync, kort för remote synchronization, är ett öppen källkodsverktyg som erbjuder en snabb och säker metod för att synkronisera och kopiera filer både lokalt och över nätverk.
=== Syntax ===
rsync [ALTERNATIV]... KÄLLA... DESTINATION


== Grundläggande Funktioner ==
=== Beskrivning ===
Kommandot `rsync` är ett kraftfullt verktyg för att kopiera och synkronisera filer och kataloger. Det stöder många funktioner som inkrementella överföringar, bevarande av filattribut, komprimering under överföring och mycket mer. `rsync` är effektivt eftersom det endast kopierar de delar av filer som har ändrats.


rsync skiljer sig från andra kopieringsverktyg genom sin algoritm som endast överför de delar av en fil som faktiskt har ändrats sedan den senaste överföringen. Detta gör rsync extremt effektivt för upprepade synkroniseringar eller backup, eftersom endast de modifierade delarna av filerna behöver skickas. Förutom effektiviteten i datatransporten erbjuder rsync också en mängd flexibla alternativ som inkluderar komprimering under överföring, kryptering via SSH, och filtrering av filer baserat på ett omfattande mönstersystem.
=== Alternativ ===
Kommandot `rsync` stöder många alternativ som kan användas för att justera hur synkroniseringen utförs:


== Användningsområden ==
* -v, --verbose - Visa detaljerad information om processen.
* -q, --quiet - Visa ingen information om processen.
* -a, --archive - Arkiveringsläge; motsvarar -rlptgoD (rekursivt och bevarar filattribut).
* -r, --recursive - Kopiera kataloger rekursivt.
* -R, --relative - Använd relativa sökvägar.
* -b, --backup - Gör säkerhetskopior av varje befintlig målfil.
* --backup-dir=DIR - Ange katalog för säkerhetskopior.
* --suffix=SUFFIX - Ange suffix för säkerhetskopior.
* -u, --update - Kopiera inte filer som är nyare på målplatsen.
* --existing - Kopiera endast filer som redan finns på målplatsen.
* --ignore-existing - Kopiera inte filer som redan finns på målplatsen.
* --remove-source-files - Ta bort källfiler efter framgångsrik överföring.
* --delete - Ta bort filer som inte finns på källplatsen.
* --delete-before - Ta bort filer från målplatsen innan överföring.
* --delete-during, --del - Ta bort filer från målplatsen under överföring.
* --delete-after - Ta bort filer från målplatsen efter överföring.
* --ignore-errors - Ignorera IO-fel under borttagning av filer.
* --max-delete=NUM - Ange maximalt antal filer att ta bort.
* --partial - Behåll delvis överförda filer.
* --partial-dir=DIR - Ange katalog för delvis överförda filer.
* --delay-updates - Flytta alla uppdaterade filer till målplatsen samtidigt.
* -L, --copy-links - Följ symboliska länkar och kopiera filerna de pekar på.
* -l, --links - Kopiera symboliska länkar som symboliska länkar.
* --copy-unsafe-links - Kopiera symboliska länkar som pekar utanför källträd.
* --safe-links - Kopiera inte symboliska länkar som pekar utanför källträd.
* -H, --hard-links - Bevara hårda länkar.
* -p, --perms - Bevara filrättigheter.
* -E, --executability - Bevara filernas körbarhetsstatus.
* --chmod=MODES - Ange filrättigheter för målplatsen.
* -A, --acls - Bevara ACL-information.
* -X, --xattrs - Bevara utökade attribut.
* -o, --owner - Bevara filägarinformation (kräver superanvändarrättigheter).
* -g, --group - Bevara filgruppinformation.
* -D - Bevara enhetsfiler och specialfiler.
* -t, --times - Bevara tidsstämplar.
* -O, --omit-dir-times - Bevara inte katalogers tidsstämplar.
* --super - Använd superanvändarrättigheter för att bevara filägarinformation.
* -S, --sparse - Hantera glesa filer effektivt.
* -x, --one-file-system - Kopiera inte filer över filsystemgränser.
* -B, --block-size=SIZE - Ange blockstorlek för checksumma (standard är 700).
* -e, --rsh=COMMAND - Använd specifikt fjärrskalkommando.
* --rsync-path=PATH - Ange sökväg till rsync på fjärrsidan.
* --existing - Kopiera inte filer som inte redan finns på målplatsen.
* --ignore-existing - Kopiera inte filer som redan finns på målplatsen.
* --remove-source-files - Ta bort källfiler efter framgångsrik överföring.
* --delete - Ta bort filer som inte finns på källplatsen.
* --delete-before - Ta bort filer från målplatsen innan överföring.
* --delete-during, --del - Ta bort filer från målplatsen under överföring.
* --delete-after - Ta bort filer från målplatsen efter överföring.
* --ignore-errors - Ignorera IO-fel under borttagning av filer.
* --max-delete=NUM - Ange maximalt antal filer att ta bort.
* --partial - Behåll delvis överförda filer.
* --partial-dir=DIR - Ange katalog för delvis överförda filer.
* --delay-updates - Flytta alla uppdaterade filer till målplatsen samtidigt.
* -L, --copy-links - Följ symboliska länkar och kopiera filerna de pekar på.
* -l, --links - Kopiera symboliska länkar som symboliska länkar.
* --copy-unsafe-links - Kopiera symboliska länkar som pekar utanför källträd.
* --safe-links - Kopiera inte symboliska länkar som pekar utanför källträd.
* -H, --hard-links - Bevara hårda länkar.
* -p, --perms - Bevara filrättigheter.
* -E, --executability - Bevara filernas körbarhetsstatus.
* --chmod=MODES - Ange filrättigheter för målplatsen.
* -A, --acls - Bevara ACL-information.
* -X, --xattrs - Bevara utökade attribut.
* -o, --owner - Bevara filägarinformation (kräver superanvändarrättigheter).
* -g, --group - Bevara filgruppinformation.
* -D - Bevara enhetsfiler och specialfiler.
* -t, --times - Bevara tidsstämplar.
* -O, --omit-dir-times - Bevara inte katalogers tidsstämplar.
* --super - Använd superanvändarrättigheter för att bevara filägarinformation.
* -S, --sparse - Hantera glesa filer effektivt.
* -x, --one-file-system - Kopiera inte filer över filsystemgränser.
* -B, --block-size=SIZE - Ange blockstorlek för checksumma (standard är 700).
* -e, --rsh=COMMAND - Använd specifikt fjärrskalkommando.
* --rsync-path=PATH - Ange sökväg till rsync på fjärrsidan.
* --checksum - Kontrollera filers integritet med checksummor.
* --compress, -z - Komprimera data under överföring.
* --compress-level=NUM - Ange komprimeringsnivå (standard är 6).
* --skip-compress=LIST - Hoppa över komprimering av filer med specifika suffix.
* --stats - Visa detaljerad överföringsstatistik.
* --human-readable - Visa filstorlekar i mänskligt läsbart format.
* --progress - Visa överföringsframsteg.
* -P - Kortform för --partial --progress.
* --password-file=FILE - Läs lösenord från filen FILE.
* --port=PORT - Anslut till specifik port på fjärrsidan.
* --timeout=SECONDS - Avsluta om ingen aktivitet sker inom den angivna tiden.
* --contimeout=SECONDS - Avsluta om ingen anslutning sker inom den angivna tiden.
* --address=ADDRESS - Ange specifik källadress att använda.
* --blocking-io - Använd blockerat IO för fjärrskal.
* --temp-dir=DIR - Använd temporär katalog DIR.
* --use-backup-dir - Använd säkerhetskopieringskatalog.
* --itemize-changes - Lista alla ändringar som görs på filer och kataloger.
* --out-format=FORMAT - Ange format för utdata.
* --log-file=FILE - Skriv loggutdata till filen FILE.
* --log-file-format=FORMAT - Ange format för loggutdata.
* --bwlimit=RATE - Begränsa bandbredden till RATE KB/s.
* --write-batch=FILE - Skriv batch-filer för senare synkronisering.
* --read-batch=FILE - Läs batch-filer för synkronisering.
* --protocol=NUM - Använd specifik rsync-protokollversion.
* --checksum-seed=NUM - Ange checksummafrö.


rsyncs tillämpningar är många och varierande. Det används ofta för att skapa speglar av webbplatser och databaser, för inkrementella dagliga backups, och för att hålla filer synkroniserade mellan olika datorer och servrar. Med sin förmåga att arbeta över olika plattformar är rsync ett värdefullt verktyg för alla som behöver en tillförlitlig lösning för datamigrering eller kontinuerlig datasynkronisering över heterogena system.
=== Exempel ===
Här är några praktiska exempel som visar hur du kan använda `rsync`-kommandot:


== Hur rsync Fungerar ==
* För att synkronisera en lokal katalog till en annan lokal katalog:
<code>
rsync -avh /src/katalog /dest/katalog
</code>


rsync använder en kombination av en kraftfull filjämförelsealgoritm och datatransmissionsprotokoll för att effektivisera filöverföringen. När en överföring initieras, analyserar rsync först filerna på käll- och målsystemet för att identifiera de delar som skiljer sig. Denna analys utförs genom en smart checksum-baserad mekanism som snabbt kan bestämma vilka delar av filerna som måste uppdateras.
* För att synkronisera en lokal katalog till en fjärrdator:
<code>
rsync -avh /src/katalog användare@fjarrexempel.com:/dest/katalog
</code>


== Installation och Användning ==
* För att synkronisera en fjärrdator till en lokal katalog:
<code>
rsync -avh användare@fjarrexempel.com:/src/katalog /dest/katalog
</code>


rsync är tillgängligt för de flesta UNIX-baserade system, inklusive Linux, BSD och macOS, och kan installeras från respektive pakethanterare. Grundläggande användning av rsync kräver kunskap om dess kommandoradsinterface, där användare kan specificera käll- och destinationsvägar, tillsammans med en rad valfria flaggor för att finjustera operationens beteende.
* För att visa framsteg under överföring:
<code>
rsync -avh --progress /src/katalog /dest/katalog
</code>


Ett exempel en enkel rsync-operation som synkroniserar innehållet i en katalog till en annan plats över SSH är:
* För att ta bort filer från målplatsen som inte längre finns källplatsen:
<code>
rsync -avh --delete /src/katalog /dest/katalog
</code>


<pre>
* För att komprimera data under överföring:
rsync -avz -e ssh användarnamn@fjärrserver:/källkatalog /lokaldestination
<code>
</pre>
rsync -avhz /src/katalog /dest/katalog
</code>


Detta kommando använder '''-a''' (arkivläge) för att bevara filrättigheter, '''-v''' (verbose) för detaljerad output, '''-z''' för komprimering och '''-e ssh''' för att specificera SSH som transportprotokoll.
* För att använda en specifik SSH-port:
<code>
rsync -avh -e "ssh -p 2222" /src/katalog användare@fjarrexempel.com:/dest/katalog
</code>


För att konvertera ovanstående exempel på användning av rsync till MediaWiki-format, används en specifik syntax för formatering som rubriker, kodblock och listor. Här är en version av texten formaterad för en MediaWiki-sida:
* För att bevara hårda länkar under överföring:
<code>
rsync -avhH /src/katalog /dest/katalog
</code>


```
=== Skillnader mellan macOS och Linux ===
== Exempel användning av rsync ==
Det finns några viktiga skillnader att tänka när man använder `rsync`-kommandot på macOS jämfört med Linux:


'''rsync''' är ett kraftfullt verktyg för filsynkronisering och överföring som kan användas i många olika scenarier, från enkel filöverföring till komplexa backup-lösningar. Här följer några exempel på hur man kan använda rsync:
* Standardinstallationer: `rsync` är vanligtvis förinstallerat på både macOS och Linux. På macOS kan det dock vara en äldre version, och det kan vara fördelaktigt att installera en nyare version via Homebrew (`brew install rsync`).
* Alternativ och funktioner: Medan grundläggande funktioner i `rsync` är liknande på båda plattformarna, kan vissa alternativ och funktioner variera beroende på versionen av `rsync`. Det är bra att kontrollera `rsync --version` och `man rsync` för att se vilka alternativ som är tillgängliga.
* Filhantering: Sökvägar och filsystembeteenden kan skilja sig mellan macOS och Linux, särskilt när det gäller hantering av metadata, symboliska länkar och utökade attribut. Detta kan påverka hur `rsync`-operationer utförs och vilka alternativ som är mest användbara.


=== 1. Enkel filöverföring mellan lokala kataloger ===
Det är alltid bra att konsultera `man`-sidan för `rsync` din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
För att synkronisera innehållet från en katalog till en annan samma dator, kan du använda följande kommando:


<pre>
=== Felsökning ===
rsync -av /källkatalog/ /målkatalog/
Om du får ett felmeddelande när du använder `rsync`, kontrollera följande:
</pre>


Flaggan <code>-a</code> står för "arkiv", vilket betyder att rsync kommer att behålla filernas egenskaper (som rättigheter, tidsstämplar, symboliska länkar, etc.) och <code>-v</code> står för "verbose", vilket gör att rsync ger mer detaljerad output om vad den gör.
* Att käll- och målvägarna är korrekta och tillgängliga.
* Att du har nödvändiga rättigheter för att läsa från källplatsen och skriva till målplatsen (vissa operationer kräver root-rättigheter).
* Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt alternativ och parametrar.
* Att nätverksanslutningen fungerar om du synkroniserar över nätverk.
* Kontrollera loggutdata för specifika felmeddelanden och åtgärda dem därefter.


=== 2. Överför filer mellan en lokal och en fjärrdator ===
=== Se även ===
För att kopiera filer från en lokal dator till en fjärrserver, kan du använda:
* [[cp]] - Kopiera filer och kataloger.
* [[tar]] - Arkivera och extrahera filer.
* [[scp]] - Kopiera filer över SSH.


<pre>
=== Källor ===
rsync -avz /källkatalog/ användarnamn@fjärrserver:/målkatalog/
* [https://www.gnu.org/software/coreutils/manual/coreutils.html GNU coreutils manual]
</pre>
* [https://man7.org/linux/man-pages/man1/rsync.1.html rsync manual (Linux)]
* [https://ss64.com/osx/rsync.html rsync manual (macOS)]


Här lägger vi till <code>-z</code> för att komprimera fildata under överföringen, vilket kan snabba upp överföringen om filerna är stora. <code>användarnamn</code> ska ersättas med ditt användarnamn på fjärrservern och <code>fjärrserver</code> med serverns adress.
[[Kategori:Linuxkommandon]]
 
=== 3. Säker överföring över SSH ===
För att säkerställa att din data överförs säkert över nätverket, kan du tvinga rsync att använda SSH:
 
<pre>
rsync -avz -e ssh /källkatalog/ användarnamn@fjärrserver:/målkatalog/
</pre>
 
Flaggan <code>-e ssh</code> specifierar att rsync ska använda SSH för dataöverföringen.
 
=== 4. Synkronisera endast nya eller ändrade filer ===
rsync är särskilt effektivt eftersom det endast överför de delar av filer som faktiskt har ändrats. Du behöver inte ange några speciella flaggor för detta eftersom det är standardbeteendet.
 
=== 5. Exkludera filer eller kataloger ===
Om du vill utesluta specifika filer eller kataloger från synkroniseringen, kan du använda <code>--exclude</code> flaggan:
 
<pre>
rsync -avz --exclude='*.tmp' /källkatalog/ /målkatalog/
</pre>
 
Detta kommando exkluderar alla filer som slutar på <code>.tmp</code> från att bli överförda.
 
=== 6. Använda rsync för inkrementella backups ===
rsync kan användas för att skapa inkrementella backups genom att kopiera endast de filer som har ändrats sedan den senaste backupen:
 
<pre>
rsync -avz --link-dest=/path/to/previous/backup /källkatalog/ /målkatalog/datum_backup/
</pre>
 
<code>--link-dest</code> flaggan används för att länka till filer i den angivna katalogen som inte har ändrats, vilket sparar diskutrymme.
 
=== 7. Automatisera rsync med cron ===
rsync kan automatiseras med hjälp av cron för att regelbundet köra backup eller synkronisering. För att göra detta, lägg till en rad i din crontab-fil (som du kan redigera med <code>crontab -e</code>) som ser ut så här:
 
<pre>
0 1 * * * rsync -avz /källkatalog/ användarnamn
 
[[Kategori:Nätverk]]
[[Kategori:Filssystem]]
[[Kategori:Filkopering]]

Versionen från 26 maj 2024 kl. 09.37

rsync - Synkronisera filer och kataloger

Kommandot `rsync` används för att synkronisera filer och kataloger mellan olika platser i ett Unix-liknande operativsystem. Det kan synkronisera filer lokalt och över nätverk.

Syntax

rsync [ALTERNATIV]... KÄLLA... DESTINATION

Beskrivning

Kommandot `rsync` är ett kraftfullt verktyg för att kopiera och synkronisera filer och kataloger. Det stöder många funktioner som inkrementella överföringar, bevarande av filattribut, komprimering under överföring och mycket mer. `rsync` är effektivt eftersom det endast kopierar de delar av filer som har ändrats.

Alternativ

Kommandot `rsync` stöder många alternativ som kan användas för att justera hur synkroniseringen utförs:

  • -v, --verbose - Visa detaljerad information om processen.
  • -q, --quiet - Visa ingen information om processen.
  • -a, --archive - Arkiveringsläge; motsvarar -rlptgoD (rekursivt och bevarar filattribut).
  • -r, --recursive - Kopiera kataloger rekursivt.
  • -R, --relative - Använd relativa sökvägar.
  • -b, --backup - Gör säkerhetskopior av varje befintlig målfil.
  • --backup-dir=DIR - Ange katalog för säkerhetskopior.
  • --suffix=SUFFIX - Ange suffix för säkerhetskopior.
  • -u, --update - Kopiera inte filer som är nyare på målplatsen.
  • --existing - Kopiera endast filer som redan finns på målplatsen.
  • --ignore-existing - Kopiera inte filer som redan finns på målplatsen.
  • --remove-source-files - Ta bort källfiler efter framgångsrik överföring.
  • --delete - Ta bort filer som inte finns på källplatsen.
  • --delete-before - Ta bort filer från målplatsen innan överföring.
  • --delete-during, --del - Ta bort filer från målplatsen under överföring.
  • --delete-after - Ta bort filer från målplatsen efter överföring.
  • --ignore-errors - Ignorera IO-fel under borttagning av filer.
  • --max-delete=NUM - Ange maximalt antal filer att ta bort.
  • --partial - Behåll delvis överförda filer.
  • --partial-dir=DIR - Ange katalog för delvis överförda filer.
  • --delay-updates - Flytta alla uppdaterade filer till målplatsen samtidigt.
  • -L, --copy-links - Följ symboliska länkar och kopiera filerna de pekar på.
  • -l, --links - Kopiera symboliska länkar som symboliska länkar.
  • --copy-unsafe-links - Kopiera symboliska länkar som pekar utanför källträd.
  • --safe-links - Kopiera inte symboliska länkar som pekar utanför källträd.
  • -H, --hard-links - Bevara hårda länkar.
  • -p, --perms - Bevara filrättigheter.
  • -E, --executability - Bevara filernas körbarhetsstatus.
  • --chmod=MODES - Ange filrättigheter för målplatsen.
  • -A, --acls - Bevara ACL-information.
  • -X, --xattrs - Bevara utökade attribut.
  • -o, --owner - Bevara filägarinformation (kräver superanvändarrättigheter).
  • -g, --group - Bevara filgruppinformation.
  • -D - Bevara enhetsfiler och specialfiler.
  • -t, --times - Bevara tidsstämplar.
  • -O, --omit-dir-times - Bevara inte katalogers tidsstämplar.
  • --super - Använd superanvändarrättigheter för att bevara filägarinformation.
  • -S, --sparse - Hantera glesa filer effektivt.
  • -x, --one-file-system - Kopiera inte filer över filsystemgränser.
  • -B, --block-size=SIZE - Ange blockstorlek för checksumma (standard är 700).
  • -e, --rsh=COMMAND - Använd specifikt fjärrskalkommando.
  • --rsync-path=PATH - Ange sökväg till rsync på fjärrsidan.
  • --existing - Kopiera inte filer som inte redan finns på målplatsen.
  • --ignore-existing - Kopiera inte filer som redan finns på målplatsen.
  • --remove-source-files - Ta bort källfiler efter framgångsrik överföring.
  • --delete - Ta bort filer som inte finns på källplatsen.
  • --delete-before - Ta bort filer från målplatsen innan överföring.
  • --delete-during, --del - Ta bort filer från målplatsen under överföring.
  • --delete-after - Ta bort filer från målplatsen efter överföring.
  • --ignore-errors - Ignorera IO-fel under borttagning av filer.
  • --max-delete=NUM - Ange maximalt antal filer att ta bort.
  • --partial - Behåll delvis överförda filer.
  • --partial-dir=DIR - Ange katalog för delvis överförda filer.
  • --delay-updates - Flytta alla uppdaterade filer till målplatsen samtidigt.
  • -L, --copy-links - Följ symboliska länkar och kopiera filerna de pekar på.
  • -l, --links - Kopiera symboliska länkar som symboliska länkar.
  • --copy-unsafe-links - Kopiera symboliska länkar som pekar utanför källträd.
  • --safe-links - Kopiera inte symboliska länkar som pekar utanför källträd.
  • -H, --hard-links - Bevara hårda länkar.
  • -p, --perms - Bevara filrättigheter.
  • -E, --executability - Bevara filernas körbarhetsstatus.
  • --chmod=MODES - Ange filrättigheter för målplatsen.
  • -A, --acls - Bevara ACL-information.
  • -X, --xattrs - Bevara utökade attribut.
  • -o, --owner - Bevara filägarinformation (kräver superanvändarrättigheter).
  • -g, --group - Bevara filgruppinformation.
  • -D - Bevara enhetsfiler och specialfiler.
  • -t, --times - Bevara tidsstämplar.
  • -O, --omit-dir-times - Bevara inte katalogers tidsstämplar.
  • --super - Använd superanvändarrättigheter för att bevara filägarinformation.
  • -S, --sparse - Hantera glesa filer effektivt.
  • -x, --one-file-system - Kopiera inte filer över filsystemgränser.
  • -B, --block-size=SIZE - Ange blockstorlek för checksumma (standard är 700).
  • -e, --rsh=COMMAND - Använd specifikt fjärrskalkommando.
  • --rsync-path=PATH - Ange sökväg till rsync på fjärrsidan.
  • --checksum - Kontrollera filers integritet med checksummor.
  • --compress, -z - Komprimera data under överföring.
  • --compress-level=NUM - Ange komprimeringsnivå (standard är 6).
  • --skip-compress=LIST - Hoppa över komprimering av filer med specifika suffix.
  • --stats - Visa detaljerad överföringsstatistik.
  • --human-readable - Visa filstorlekar i mänskligt läsbart format.
  • --progress - Visa överföringsframsteg.
  • -P - Kortform för --partial --progress.
  • --password-file=FILE - Läs lösenord från filen FILE.
  • --port=PORT - Anslut till specifik port på fjärrsidan.
  • --timeout=SECONDS - Avsluta om ingen aktivitet sker inom den angivna tiden.
  • --contimeout=SECONDS - Avsluta om ingen anslutning sker inom den angivna tiden.
  • --address=ADDRESS - Ange specifik källadress att använda.
  • --blocking-io - Använd blockerat IO för fjärrskal.
  • --temp-dir=DIR - Använd temporär katalog DIR.
  • --use-backup-dir - Använd säkerhetskopieringskatalog.
  • --itemize-changes - Lista alla ändringar som görs på filer och kataloger.
  • --out-format=FORMAT - Ange format för utdata.
  • --log-file=FILE - Skriv loggutdata till filen FILE.
  • --log-file-format=FORMAT - Ange format för loggutdata.
  • --bwlimit=RATE - Begränsa bandbredden till RATE KB/s.
  • --write-batch=FILE - Skriv batch-filer för senare synkronisering.
  • --read-batch=FILE - Läs batch-filer för synkronisering.
  • --protocol=NUM - Använd specifik rsync-protokollversion.
  • --checksum-seed=NUM - Ange checksummafrö.

Exempel

Här är några praktiska exempel som visar hur du kan använda `rsync`-kommandot:

  • För att synkronisera en lokal katalog till en annan lokal katalog:

rsync -avh /src/katalog /dest/katalog

  • För att synkronisera en lokal katalog till en fjärrdator:

rsync -avh /src/katalog användare@fjarrexempel.com:/dest/katalog

  • För att synkronisera en fjärrdator till en lokal katalog:

rsync -avh användare@fjarrexempel.com:/src/katalog /dest/katalog

  • För att visa framsteg under överföring:

rsync -avh --progress /src/katalog /dest/katalog

  • För att ta bort filer från målplatsen som inte längre finns på källplatsen:

rsync -avh --delete /src/katalog /dest/katalog

  • För att komprimera data under överföring:

rsync -avhz /src/katalog /dest/katalog

  • För att använda en specifik SSH-port:

rsync -avh -e "ssh -p 2222" /src/katalog användare@fjarrexempel.com:/dest/katalog

  • För att bevara hårda länkar under överföring:

rsync -avhH /src/katalog /dest/katalog

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `rsync`-kommandot på macOS jämfört med Linux:

  • Standardinstallationer: `rsync` är vanligtvis förinstallerat på både macOS och Linux. På macOS kan det dock vara en äldre version, och det kan vara fördelaktigt att installera en nyare version via Homebrew (`brew install rsync`).
  • Alternativ och funktioner: Medan grundläggande funktioner i `rsync` är liknande på båda plattformarna, kan vissa alternativ och funktioner variera beroende på versionen av `rsync`. Det är bra att kontrollera `rsync --version` och `man rsync` för att se vilka alternativ som är tillgängliga.
  • Filhantering: Sökvägar och filsystembeteenden kan skilja sig mellan macOS och Linux, särskilt när det gäller hantering av metadata, symboliska länkar och utökade attribut. Detta kan påverka hur `rsync`-operationer utförs och vilka alternativ som är mest användbara.

Det är alltid bra att konsultera `man`-sidan för `rsync` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `rsync`, kontrollera följande:

  • Att käll- och målvägarna är korrekta och tillgängliga.
  • Att du har nödvändiga rättigheter för att läsa från källplatsen och skriva till målplatsen (vissa operationer kräver root-rättigheter).
  • Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt alternativ och parametrar.
  • Att nätverksanslutningen fungerar om du synkroniserar över nätverk.
  • Kontrollera loggutdata för specifika felmeddelanden och åtgärda dem därefter.

Se även

  • cp - Kopiera filer och kataloger.
  • tar - Arkivera och extrahera filer.
  • scp - Kopiera filer över SSH.

Källor