GNU/Linux >> Znalost Linux >  >> Linux

Proč rsync nepoužívá delta-transfer pro místní soubory?

Podle manuálové stránky má psusi pravdu:

-W, --celý-soubor :Přenos může být rychlejší, pokud je tato možnost použita, když je šířka pásma mezi zdrojovým a cílovým počítačem větší než šířka pásma na disk (zvláště když je "disk" ve skutečnosti síťový souborový systém). Toto je výchozí nastavení, když je zdroj i cíl zadán jako místní cesta, ale pouze v případě, že není aktivní žádná možnost dávkového zápisu.


Přímá odpověď na tuto otázku zní:

Použijte --no-W příznak pro vynucení delta komprese, bez ohledu na to, zda je lokální nebo vzdálená.

Aktualizace: Zdá se, že v příběhu je víc. delta compression Zdá se, že je povolen pouze mezi procesem příjmu a přenosu rsync. Při výstupu souboru do systému souborů rsync může stále zapsat celý soubor(y), i když je zapnutá delta komprese.

Viz vyšetřování "Wakan Tanka" zde.

Aktualizace 2: --inplace volba zapíše pouze změněné části souboru. Pamatujte však, že je v konfliktu s --sparse a není doporučeno v příručce, když se používá cílový soubor.


Ve výchozím nastavení rsync z různých bezpečnostních důvodů nejprve vytvoří novou kopii cílového souboru a poté ji nahradí. Toto můžete přepsat zadáním --inplace spolu s --no-whole-file . To říká rsync, aby provedl místní úpravu cílového souboru a přijal různá rizika (pro tuto situaci obvykle malá), jak je zdokumentováno v manuálové stránce.


Linux
  1. Proč Find -mtime +1 vrací pouze soubory starší než 2 dny?

  2. Jak používat Inotifywait ke sledování adresáře pro vytváření souborů s konkrétní příponou?

  3. Shell skript pro přesun nejstarších souborů?

  1. Proč „zip“ v A For Loop funguje, když soubor existuje, ale ne, když neexistuje?

  2. Čekat na dokončení stahování více souborů?

  3. Proč stdout potřebuje explicitní vyprázdnění při přesměrování do souboru?

  1. Proč může Rm odebrat soubory pouze pro čtení?

  2. Kdy a proč bych měl používat Apt-get Update?

  3. Proč systém Windows nerozpozná soubory uvnitř oddílů Linux?