GNU/Linux >> Znalost Linux >  >> Linux

Je používání Taru při aktualizaci zdrojového adresáře bezpečné?

Musím se zeptat na podobnou otázku.

Ve scénářích, kdy zálohujete adresář pomocí tar a

  1. přidávají se nové soubory/adresáře

  2. aktuální soubory/adresáře se upravují a smazáno

můžete očekávat bezpečný výsledek?

Podle bezpečného výsledku Myslím něco jako:

  1. tar nepokazí něco na zdrojovém adresáři/subdirs
  2. tar přidá do archivu tak, jak byl nalezen v okamžiku vytvoření archivu
  3. signál o úspěchu bude vysílán, i když dojde k popsaným změnám

Přijatá odpověď:

1. tar nepokazí něco na zdrojovém adresáři/subdirs

Pravda, pokud nepočítáte přístupové doby aktualizace jako zpackané. Kromě toho tar nemění nic ve zdrojovém stromu.

2. tar přidá do archivu tak, jak byl nalezen v okamžiku archivace budovy

Pravda, pro určitou hodnotu „v okamžiku“. Pokud se zdrojový strom změní, když jej tar čte, obsah archivu je poněkud nepředvídatelný. Zejména pokud se soubor změní, když jej tar čte, neexistuje žádná záruka, že tar zapíše kopii souboru tak, jak byla v určitém okamžiku. Například je možné mít:

  • tar čte bajty 0–4095 z foo .
  • Některý program zapisuje do foo , změna bajtů 4095–4096 v jediné operaci zápisu.
  • tar čte bajty 4096–8191 z foo .

Potom obsah foo v archivu není ani starý obsah, ani nový obsah, je to směs obou. Dalším příkladem je, že pokud je soubor přejmenován, zatímco tar čte zdrojový strom, tar jej může úplně přeskočit.

3. signál úspěchu bude vyslán i v případě, že došlo k popsaným změnám

Ne, ne nutně. Pokud tar zjistí, že se zdroj během čtení změnil, může si stěžovat a vrátit stav selhání. Zejména tar potřebuje zapsat velikost souboru do archivu, než zapíše obsah, takže nejprve načte velikost každého zdrojového souboru. Pokud dosáhne konce souboru před dosažením zaznamenané velikosti, neexistuje žádný zřejmý způsob, jak se obnovit, takže jakákoli implementace tar by si měla stěžovat alespoň v tomto případě.

Chcete-li zálohovat bezpečně, použijte nástroje na úrovni souborového systému nebo svazku k vytvoření snímku a zálohování snímku.

Související:Linux – virtualbox KALI host na hostiteli Ubuntu automaticky neupravuje rozlišení?
Linux
  1. [Linux] :Jak vyloučit adresář při použití příkazu shellu „tar“.

  2. Sloučení složek s Mv?

  3. Vytvořit cílový adresář při extrahování Tarballu?

  1. Hp-ux 9:Zálohování souborového systému pomocí Tar?

  2. Použití –exclude With The Du Command?

  3. Jak gzipovat adresář v Linuxu

  1. cp:vynechání adresáře – chyba při kopírování adresáře v Linuxu

  2. Vyloučení adresáře při vytváření souboru .tar.gz

  3. Zkontrolujte, zda je adresář prázdný, pomocí C na Linuxu