Skip to main content

Så här använder du rsync för att kopiera Linux-mappar och filer

Gifs With Sound #228 (Maj 2024)

Gifs With Sound #228 (Maj 2024)
Anonim

rsync är ett filöverföringsprogram för Linux som låter dig kopiera kataloger och filer med ett enkelt kommando, en som innehåller ytterligare alternativ förbi den traditionella kopieringsfunktionen.

En av de användbara funktionerna i rsync är att när du använder den för att kopiera kataloger från kommandoraden kan du utesluta filer på ett systematiskt sätt. På så sätt kan du, om du använder rsync för att säkerhetskopiera filer, bara få tillbaka filerna du verkligen vill arkivera, samtidigt som du undviker allting.

rsync Syntax

Om du använder kommandot rsync krävs det att du följer rätt syntax:

rsync OPTION … SRC … DESTrsync OPTION … SRC … USER @ HOST: DESTrsync OPTION … SRC … USER @ HOST :: DESTrsync OPTION … SRC … rsync: // USER @ HOST : PORT / DESTrsync OPTION … USER @ HOST: SRC DESTrsync OPTION … USER @ HOST :: SRC DESTrsync OPTION … rsync: // USER @ HOST : PORT / SRC DEST

De alternativ Utrymmet som anges ovan kan fyllas med ett antal saker. Se OPTIONS SAMMANFATTNING en del av rsync-dokumentationen för en fullständig lista, men här är några exempel:

  • -v, --mångordig: Öka verbositet
    • --info = FLAGS : Finkornig informativ verbositet
    • --debug = FLAGS : Finkornig felsökning
    • --msgs2stderr: Särskild utmatningshantering för debugging
  • -q, --tyst: Undertryck icke-felmeddelanden
    • --no-motd: Undertryck daemon-mode MOTD
  • -c, --checksum: Hoppa ut baserat på kontrollsumma, inte mod-tid och storlek
  • -r, --rekursiv: Rekrytera till kataloger
  • -b, --säkerhetskopiering: Gör säkerhetskopior
    • --backup-dir = DIR : Gör säkerhetskopior till en hierarki baserad på DIR
    • --suffix = ÄNDELSE : Backup suffix
  • -d, --dirs: Överför kataloger utan återföring

rsync-exempel

Här är några exempel på hur du använder rsync med några av dessa alternativ:

Tips: I vart och ett av dessa exempel kan den dristiga texten inte ändras eftersom den är en del av kommandot. Som du kan berätta är mappvägarna och andra alternativ anpassade till våra specifika exempel, så de kommer att vara annorlunda när du använder dem.

rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

I det här exemplet är alla JPG-filer från /data/ mappen kopieras till / Backupdata / mapp på användarens Jon-mapp.

rsync --max-size =2k / hem / jon / skrivbord / data / / hem / jon / skrivbord / backupdata /

Detta rsync-exempel är lite mer komplicerat eftersom det är inställt på inte kopiera filer om de är större än 2.048 KB. Det vill säga att endast kopiera filer som är mindre än den angivna storleken. Du kan använda k, m, eller g för att ange kilobyte, megabyte och gigabyte i 1024 multiplikatorn, eller kb , mb , eller gb att använda 1000

rsync -min-size =30mb / hem / jon / skrivbord / data / / hem / jon / skrivbord / backupdata /

Detsamma kan göras för --min-storlek , som du ser ovan. I det här exemplet kommer endast rsync att kopiera filer som är 30 MB eller större.

rsync -min-size =30mb --framsteg / home / jon / Desktop / data / / home / jon / Skrivbord / backupdata /

När du använder rsync för att kopiera filer som är ganska stora, som 30 MB och större, och speciellt när det finns ett antal av dem, kanske du vill se framstegen i kopieringsfunktionen istället för att antagandet att kommandot har blivit fryst. I så fall använder du --framsteg möjlighet att se processen nå 100%.

rsync - återkommande / home / jon / Desktop / data / home / jon / Desktop / data2

De --rekursiv alternativet ger ett enkelt sätt att kopiera en hel mapp till en annan plats, till exempel / Data2 / mapp i vårt exempel.

rsync -r --exclude = "*.deb' / home / jon / Desktop / data / home / jon / Skrivbord / backupdata

Du kan också kopiera en hel mapp men utesluta filer från en viss filtillägg, till exempel DEB-filer i det här exemplet ovan. Den här gången, hela /data/ mappen kopieras till / Backupdata / som i föregående exempel, men alla DEB-filer är uteslutna från kopian.