GNU/Linux >> Znalost Linux >  >> Linux

Jak duplikovat soubor bez kopírování jeho dat pomocí Btrfs?

S btrfs nemám žádné zkušenosti, ale je inzerováno, že dokáže
deduplikovat soubory.

V mé aplikaci bych potřeboval duplikovat celé adresářové stromy.

Z toho, co jsem se dozvěděl, btrfs deduplikuje pouze v nějakém post scanu, ne
okamžitě. I jen pomocí cp nezdá se, že by spouštěl žádnou
deduplikaci (alespoň df ukazuje zvýšené využití disku ve
velikosti zkopírovaných souborů).

Mohu se úplně vyhnout přesouvání dat a říct btrfs přímo k
duplikovat soubor na jiném místě, v podstatě jen klonovat jeho
metadata?

V podstatě podobný pevnému odkazu, ale s nezávislými metadaty
(oprávnění, časy úprav, …).

Přijatá odpověď:

Existují dvě možnosti:

  1. cp --reflink=always
  2. cp --reflink=auto

Druhý je téměř vždy výhodnější než první. Pomocí auto znamená, že se vrátí k vytvoření věrné kopie, pokud systém souborů nepodporuje přelinkování (například ext4 nebo kopírování do sdílené složky NFS). S první možností jsem si docela jistý, že to zcela selže a přestane kopírovat.

Pokud to používáte jako součást skriptu, který musí být robustní tváří v tvář neideálním podmínkám, auto bude sloužit lépe.


Linux
  1. Jak bezpečně zničit/vymazat data na pevných discích pomocí shred v Linuxu

  2. Jak vytvořit a připojit souborový systém Btrfs (vysvětleno na příkladech)

  3. Jak rm funguje? Co dělá rm?

  1. Jak podložit soubor pomocí FF pomocí dd?

  2. Jak najít soubor s name=php.ini na linuxu pomocí příkazu grep

  3. iftop - jak vygenerovat textový soubor s jeho výstupem?

  1. Jak zapíšu stderr do souboru při použití tee s potrubím?

  2. Jak napsat soubor s C v Linuxu?

  3. Jak extrahovat soubory bez struktury složek pomocí tar