GNU/Linux >> Znalost Linux >  >> Linux

Důvody, proč rsync nepřenáší všechny soubory?

Tato otázka má 2 části. Za prvé, proč je rozdíl mezi "Počet souborů" a "Počet přenesených souborů". To je vysvětleno v manuálové stránce rsync:

Počet souborů :je počet všech "souborů" (v obecném smyslu), což zahrnuje adresáře, symbolické odkazy atd.

Počet přenesených souborů :je počet normálních souborů, které byly aktualizovány pomocí algoritmu delta-transfer společnosti rsync, což ne zahrnout vytvořené adresáře, symbolické odkazy atd .

Rozdíl by se zde měl rovnat celkovému počtu adresářů, symbolických odkazů a dalších speciálních souborů. Ty nebyly „přeneseny“, ale pouze znovu vytvořeny.

Nyní k druhé části, proč je rozdíl ve velikosti s du. du ukazuje množství místa na disku používaném souborem, nikoli velikost souboru. Stejný soubor může zabírat různé množství místa na disku, pokud se například liší velikost bloků souborových systémů.

Pokud se stále obáváte o integritu dat, snadný způsob, jak si být jisti, je vytvořit hash pro všechny vaše soubory a porovnat:

( cd /home/hholtmann && find . -type f -exec md5sum {} \; ) > /tmp/hholtmann.md5sum
( cd /media/wd750/c51/home/ && md5sum -c /tmp/hholtmann.md5sum )

Všem ostatním ubohým ztraceným duším pracujícím z dovolené v hluboké noci,

--checksum umožňuje rsync skutečně zkontrolovat, zda jsou v souborech změny, jinak kontroluje časová razítka a velikosti souborů a volá jej za den,

to je dostatečné v 99,9 % případů a nechá vás shořet v pekle po zbytek 0,01 %, dokud na to nepřijdete


Mohl bych také přidat něco, co jsem se naučil.

Používal jsem příkaz rsync /path/source/* /path/to/destination/* (všimněte si koule). Bylo to nepříjemné, protože 90 % mých souborů se přeneslo až na několik výjimek (dokonce byly ve stejné složce jako některé, které se přenesly). Po odstranění * ze zdroje a cíle se všichni přenesli. ¯\_(ツ)_/¯


Linux
  1. Odebrat všechny soubory/adresáře kromě jednoho souboru?

  2. Odhadnout čas nebo práci zbývající do dokončení pro Rsync?

  3. Porovnat adresáře, ale ne obsah souborů?

  1. Vyloučit všechny soubory podtržení teček z Rsync?

  2. Jak najít všechny soubory, které neobsahují textový řetězec?

  3. Protokolovat pouze přenesené soubory pomocí Rsync?

  1. Linux – Proč Rsync na Linuxu nezachovává všechna časová razítka (čas vytvoření)?

  2. Hledání souborů, které NENÍ ve vlastnictví konkrétního uživatele

  3. cp -r bez skrytých souborů