Avatar
Linux, textfiler & minimalism
10 September 2019

Kopiera filer med rsync för bättre överblick

Att kopiera större filer via skalet med verktyget cp kan ibland vara lite omständligt eftersom att man inte får någon form utav återkoppling med hur det går.

Om jag behöver kopierar större och/eller många filer brukar jag därför använda mig utav av rsync. Ett verktyg som ofta används för säkerhetskopiering. Med rätt flaggor kan man bland annat se hur långt operationen har kommit, hur snabbt den kopierar och mycket det tid det är kvar.

Här är ett exempel när jag kopierade över en virtuell maskin med totalt 3 filer till min lagringshårddisk:

$ rsync -ah --progress VirtualBox/vhost-cloud-new /media/HDD0/
sending incremental file list
vhost-cloud-new/
vhost-cloud-new/vhost-cloud-new.vbox
          3.29K 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=7/9)
vhost-cloud-new/vhost-cloud-new.vbox-prev
          3.29K 100%    3.14MB/s    0:00:00 (xfr#2, to-chk=6/9)
vhost-cloud-new/vhost-cloud.vdi
          3.43G  19%  111.59MB/s    0:02:00

Rsync gör skillnad på hur den hanterar mappar om du har ett snedstreck på slutet. Det innebär att om du anger mappen exempel/ kommer den att kopiera innehållet från den mappen till källan, men om man anger mappen exempel kommer den att kopiera mappen till källan.

Förklaring av flaggorna:

-a, --archive Samma sak som -H, --hard-links, -A, --acls och -X, --xattrs. Vilket innebär att den bevarar hårda länkar, filrättigheter och metadata för filerna.
-h, --human-readable Mer lättförstådd återkoppling.
--progress Visar aktuell status för operation.

Jag har bundit kommandot rsync -ah --progress till ett alias som jag döpte till cpr, vilket gör det både enklare att komma ihåg kommandot och snabbare att använda det.

Lägg bara till stycket alias cpr='rsync -ah --progress' i din konfigurationsfil där du har dina aliases. Vanligtvis är det filen ~/.bashrc om du använder standardskalet för din Linuxdistribution. Har du något annat har du säkert redan koll på vad som gäller. Starta sedan om din terminal eller läs om konfigurationsfilen med kommandot source ~/.bashrc.

rsync Tips & Trix

Återkoppling

Min blogg består av 100% statisk HTML-kod och saknar därför ett kommentarssystem. Om du vill lämna återkoppling, diskutera eller fråga något går det bra att göra det via e-post, XMPP och Mastodon.