GNU/Linux >> Znalost Linux >  >> Linux

Zálohování domovského adresáře – Rychlý průvodce nanečisto

Řekněme, že jste uživatel Linuxu. Ne, vážně, řekni to. OK. Nyní jste uživatel Linuxu a rádi byste si zálohovali svá osobní data, protože je to velmi důležité. Mít pevný záložní plán je skutečně chytrá věc. Pokud se chystáte provést velký upgrade systému, vyzkoušet nový software nebo cokoli jiného, ​​co by mohlo zablokovat vaše soubory, kopie dat vám pomůže předejít nežádoucím slzám nebo panice.

Existují dva způsoby, jak toho dosáhnout. Za prvé, můžete použít nějaký nástroj, jako je Grsync nebo Deja Dup, a to je naprosto v pořádku. Za druhé, můžete si napsat svůj vlastní malý scénář. Za normálních okolností není důvod se s posledně jmenovanou metodou obtěžovat, ale je dobré vědět, co dělat v případě potřeby. Dnes bych vám rád ukázal, jak můžete vytvořit flexibilní a šifrované (ano, šifrované) archivy vašich dat, s výjimkami a podobně, a pak je ukládat kamkoli chcete, jiný disk, jiný systém, cloud, To je jedno. Po mně.

Zničte svá data

Použijeme úctyhodný nástroj tar. Je k dispozici v podstatě na jakémkoli počítači se systémem UNIX/Linux, ke svému fungování nevyžaduje žádné uživatelské rozhraní a od sexy a elegantního rsync se liší tím, že nepřenáší (nesynchronizuje) vaše data do záložního umístění. Může to udělat, ale jeho hlavním účelem je vytvářet archivy dat.

Takže vytvoříme místní archiv s tar, použijeme více příznaků vyloučení, abychom nezálohovali věci, které nepotřebují uchování, jako jsou dočasné soubory, ladicí soubory, mezipaměť, koš a podobně, a pak archiv zašifrujeme pomocí jiného nástroje. - gpg, takže kdokoli, kdo má z jakéhokoli důvodu přístup k vašim datům, nemůže nahlédnout dovnitř, jsou to zlobiví nezbedníci.

Pojďme se podívat na níže uvedený seznam. Upozorňujeme, že NENÍ komplexní a že ve vašem konkrétním nastavení může existovat mnoho dalších výjimek. Je to ale orientační a konzervativní, tj. některá možná nepotřebná data budou zálohována, i když byste je bezpečně nemohli přidat.

tar -cpzf backup-name.tar.gz \
--exclude=backup-name.tar.gz\
--exclude=.cache \
--exclude=.debug \
--exclude=.dbus \
--exclude=.gvfs \
--exclude=.local/share/gvfs-metadata \
--exclude=.local/share /Koš \
--exclude=.nedávno-použité \
--exclude=.thumbnails \
--exclude=.xsession-errors \
--exclude=.Trash \
--exclude=.steam \
--exclude=Stahování \
--exclude=GitHub \
--exclude=Veřejné \
--exclude=Steam \
--exclude=Šablony \
--exclude="VirtualBox VMs" \
--warning=no-file-changed .

co to tu máme? Nejprve název archivu. Může být umístěn na stejném svazku jako zbytek dat, ale pak potřebujete druhý řádek, který nám říká, že archiv do sebe nezahrnujeme (počátek). Pak tu máme řadu skutečných vyloučení. Některé z nich jsou obecné a některé specifické pro uživatele. Obecná vyloučení pokrývají data, která většinou souvisí s relací nebo jsou dočasná. Konkrétně (a tím myslím obecně):

  • .cache – jak název napovídá.
  • .debug – jak název napovídá.
  • .dbus – data specifická pro relaci.
  • .gvfs – přípojné body pro GVFS specifické pro relaci.
  • .local/share/gvfs-metadata – metadata pro výše uvedené položky.
  • .local/share/Trash – jak název napovídá.
  • .recently-used – jak název napovídá.
  • .thumbnails – jak název napovídá.
  • .xsession-errors – chyby specifické pro relaci.
  • .Koš – jak název napovídá.

Všechny řádky vyloučení za .Trash jsou osobní přepisy. Například jsem neviděl potřebu ukládat stažená repo data projektu GitHub (možná to ani nemáte nebo vás to může zajímat), věci Steam (opět to samé) nebo virtuální stroje VirtualBox. Váš seznam může samozřejmě obsahovat libovolný počet těchto přepsání, jak uznáte za vhodné. Přidal jsem svůj, abych vám dal představu, jak na to můžete jít.

Existuje mnoho dalších možných vyloučení. Například tento seznam GitHub obsahuje několik stovek řádků výjimek (zamýšlených pro rsync, ale pro argumentaci se zde neliší), které byste také mohli zvážit pro svůj příkaz tar. V obecné části seznamu jsem nevynechal žádné adresáře specifické pro program a dal jsem vám pouze několik osobních přepisů. Zbytek je na vás a než budete moci pokračovat, potřebujete trochu domácího úkolu.

Nakonec také zobrazíme varování, pokud se některý ze souborů navržených k zálohování změní, a archiv uložíme do aktuálního adresáře (označeného tečkou). Můžete také ukládat do vzdálených umístění, na jiné disky, cokoli, co se vám zdá vhodné. A protože se jedná o příkaz shellu, můžete jej také naskriptovat – a poté naplánovat.

Šifrování

Jakmile je archiv vytvořen, můžeme jej zašifrovat pomocí gpg:

gpg -o název-zálohy.tar.gz.gpg --symetrický název-zálohy.tar.gz

Budete požádáni o zadání hesla pro váš archiv. Zdroj nebude smazán, takže můžete (měli byste) vyzkoušet otevření archivu, abyste se ujistili, že funguje a že si pamatujete heslo. Na systémech s desktopovým prostředím se zobrazí okno s výzvou:

Chyby

Při práci s dehtem můžete narazit na několik chyb. Výše uvedený parametr -v jsem nepoužil záměrně, aby se zobrazily pouze chyby, které se pak snáze odhalí a vyřeší. Některé z běžných chyb, které uvidíte, jsou:

tar:.:soubor se při čtení změnil
tar:Ukončení se stavem selhání kvůli předchozím chybám

V tomto případě se soubor změnil během vytváření archivu (například textový soubor). Toto není chyba sama o sobě, ale konkrétní soubor nebude zahrnut do archivu a stav ukončení příkazu tar bude nějaký chybový kód. Chybu můžete ignorovat nebo znovu spustit vytváření archivu tar. Pokud chcete, můžete také použít příznak --ignore-failed-read, ale mějte na paměti, že některé soubory NEBUDOU zálohovány.

tar:./.config/.../leveldb/LOG:Nelze otevřít:Oprávnění odepřeno
tar:./.config/.../leveldb/000010.ldb:Nelze otevřít:Oprávnění odepřeno

Může se zobrazit chyba Povolení odepřeno. To obvykle pramení z problémů s oprávněními, tj. některé soubory ve vašem domovském adresáři nejsou přístupné nebo vám nepatří (nejste vlastníkem), takže je příkaz tar nemůže zahrnout do archivu. Tyto chyby můžete ignorovat nebo opravit oprávnění:

chown "váš uživatel":"vaše skupina" ~/* -R

Obnova dat

Je toho mnohem víc, co můžete udělat. Stránka Ubuntu wiki TAR obsahuje mnoho užitečných informací, včetně toho, jak kombinovat zálohování a obnovu přes síť, což může být docela užitečné. Ale důraz je zde kladen na rychlé 'n' dirty, takže to záměrně příliš nekomplikujeme. Nejprve musíme dešifrovat soubor:

gpg -o backup-name.tar.gz -d backup-name.tar.gz.gpg

A pak to můžeme extrahovat:

tar -xpzf název-zálohy.tar.gz

Toto je nejzákladnější příkaz pro extrakci archivu tar. Můžete to kombinovat s použitím cílového adresáře a dalších příznaků, ale ve většině případů možná nebudete chtít slepě kopírovat data v archivu přes váš stávající systém, pokud nevytváříte nový box.

Další čtení

Nezapomeňte také zálohovat svůj systém!

Nový a jasný tutoriál CloneZilla

Recenze Timeshift – Udělejme znovu časový posun

Závěr

A to je asi tak všechno. Jsem zastáncem zálohování dat. Ve skutečnosti je to nejdůležitější věc, kterou byste měli cvičit na svých počítačích. Vždy je užitečné mít více záloh a více metod k jejich vytváření, protože to může pomoci s různými scénáři použití, které se vám objeví. Někdy to udělá plnohodnotný nástroj uživatelského rozhraní. Jindy to bude pracant rsync. A nyní můžete použít další starý spolehlivý program, a to je tar, s trochou gpg twistu na straně.

V této příručce jsme mluvili o výjimkách, obecných i osobních, probrali jsme šifrování, dotkli se některých běžných chyb, na které můžete (a s největší pravděpodobností narazíte) při používání tar, a nakonec jsme také provedli obnovu dat, která je stejně důležitá jako všechny ostatní ostatní kroky. Doufáme, že se vám zde uvedené informace budou hodit. Postarejte se o ně, miláčci. Uvidíme se.


Linux
  1. Rychlá navigace v adresáři v prostředí Bash?

  2. Proč bylo „~“ vybráno k reprezentaci domovského adresáře?

  3. Jaký je účel souboru .bash_profile pod uživatelským domovským adresářem v Linuxu

  1. Jak spočítat počet souborů v adresáři a odstranit nejstarší, pokud počet překročí 5?

  2. Je možné předefinovat Tildu (‚~‘, domovský adresář)?

  3. Tajemné .adresáře v domovském adresáři?

  1. The Magic ~:Bash Tilde Expansion s 5 příklady

  2. Jaký má smysl šifrování domovského adresáře?

  3. Jaká by měla být ideální oprávnění k domovskému adresáři v linuxu