GNU/Linux >> Znalost Linux >  >> Linux

Proč Rsync trvá na tom, že je rozdíl, když jej spustím podruhé?

Po několika měsících, kdy byl offline, znovu synchronizuji svůj místní adresář Nextcloud. Před chvílí jsem na serveru ztratil spoustu dat (neptejte se) a ~3 různá zařízení jsou mimo synchronizaci, takže jako preventivní opatření jsem provedl zálohu adresáře pomocí btrfs subvolume snapshot .

Nyní bych rád zjistil, zda je v záloze něco, co není v částečně synchronizovaném adresáři Nextcloud (který je na adrese ~/ownCloud protože jsem býval na ownCloudu), tedy pokud bylo něco smazáno. K otestování jsem použil tento příkaz rsync:

$ rsync -rvcn /var/backups/btrfs-snapshot-before-resynchronize-owncloud/home/alex/ownCloud/photos/Black\ and\ White\ Photography\ \(Winter\ \'14-15\) /home/alex/ownCloud/photos/Black\ and\ White\ Photography\ \(Winter\ \'14-15\)

Cesta v /var/backups je verze snímku a cesta v /home/alex je „živá“ verze.

Bohužel to vytiskne (pokud vím) každý soubor v adresáři. Pořídit Black and White Photography (Winter '14-15)/19th.jpg – tento soubor je v obou adresářích. Je to stejné pro každý měřit – podle stat , má stejnou velikost a číslo inodu a md5sum dává přesně stejný hash.

Proč je rsync trvat na tom, že všechny tyto soubory jsou odlišné, i když zjevně nejsou?

Přijatá odpověď:

Váš příkaz nemá koncové '/' v argumentech adresáře (alespoň v prvním), takže se rsync pokusí zkopírovat první adresář jako nový adresář do druhého adresáře.


Linux
  1. Uložte do proměnné počet sekund, po které proces trval

  2. Lomítka a příkaz rsync

  3. Spusťte ls, aniž byste získali úplnou cestu

  1. Proč „sudo Su“ ve skriptu Shell nespustí zbytek skriptu jako kořen?

  2. Čas provedení více příkazů

  3. Proč je kořenový adresář označen znakem /?

  1. Linux – Proč nemůže jádro spustit inicializaci?

  2. Proč je velikost adresáře v unixu vždy 4096 bajtů?

  3. Proč je příšerné 'rm -rf /' vůbec povoleno?