GNU/Linux >> Linux Esercitazione >  >> Linux

Backup della home directory - La guida rapida e sporca

Supponi di essere un utente Linux. No, sul serio, dillo. OK. Ora, sei una persona Linux e vorresti eseguire il backup dei tuoi dati personali, perché è molto importante. In effetti, avere un solido piano di backup è una cosa intelligente. Se stai per fare un grande aggiornamento del sistema, provare un nuovo software o qualsiasi altra cosa che potrebbe rovinare i tuoi file, una copia dei dati ti aiuterà a prevenire qualsiasi lacrimazione o panico indesiderati.

Ci sono due modi in cui puoi farlo. Uno, puoi usare uno strumento di qualche tipo, come Grsync o Deja Dup, e va benissimo. Due, puoi scrivere la tua piccola sceneggiatura. Normalmente, non c'è motivo di preoccuparsi di quest'ultimo metodo, ma è bene sapere cosa fare in caso di necessità. Oggi vorrei mostrarti come creare archivi flessibili e crittografati (sì, crittografati) dei tuoi dati, con esclusioni e quant'altro, e poi essere in grado di salvarli ovunque tu voglia, un altro disco, un altro sistema, cloud, Qualunque cosa. Dopo di me.

Annulla i tuoi dati

Useremo la venerabile utilità tar. È disponibile praticamente su qualsiasi macchina UNIX/Linux, non richiede un'interfaccia utente per funzionare ed è diverso dal rsync sexy e pulito in quanto non trasmette (sincronizza) i tuoi dati in una posizione di backup. Può farlo, ma il suo scopo principale è creare archivi di dati.

Quindi creeremo un archivio locale con tar, utilizzeremo più flag di esclusione in modo da non eseguire il backup di elementi che non necessitano di conservazione, come file temporanei, file di debug, cache, Cestino e quant'altro, e quindi crittograferemo l'archivio utilizzando un altro strumento - gpg, in modo che chiunque abbia accesso ai tuoi dati, per qualsiasi motivo, non possa sbirciare dentro, cattivo loro.

Diamo un'occhiata alla lista qui sotto. Tieni presente che NON è completo e che potrebbero esserci molte altre esclusioni nella tua configurazione particolare. Ma è indicativo e conservativo, ad es. verrà eseguito il backup di alcuni dati eventualmente non necessari, anche se potresti tranquillamente non aggiungerli.

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 /Cestino \
--exclude=.usato di recente \
--exclude=.thumbnails \
--exclude=.xsession-errors \
--exclude=.Trash \
--exclude=.steam \
--exclude=Download \
--exclude=GitHub \
--exclude=Pubblico \
--exclude=Steam \
--exclude=Modelli \
--exclude="VirtualBox VMs" \
--warning=nessun file modificato .

Cosa abbiamo qui? Innanzitutto, il nome dell'archivio. Può risiedere sullo stesso volume del resto dei dati, ma poi è necessaria la seconda riga, che ci dice di non includere l'archivio al suo interno (inception). Poi, abbiamo una serie di vere esclusioni. Alcuni di questi sono generici e alcuni specifici dell'utente. Le esclusioni generiche riguardano i dati per lo più relativi alla sessione o temporanei. Nello specifico (e con ciò intendo genericamente):

  • .cache - come dice il nome.
  • .debug - come dice il nome.
  • .dbus - dati specifici della sessione.
  • .gvfs - punti di montaggio specifici della sessione per GVFS.
  • .local/share/gvfs-metadata - metadati per quanto sopra.
  • .local/share/Trash - come dice il nome.
  • .usato di recente - come dice il nome.
  • .thumbnails - come dice il nome.
  • .xsession-errors - errori specifici della sessione.
  • .Trash - come dice il nome.

Tutte le righe di esclusione dopo .Trash sono sostituzioni personali. Ad esempio, non ho visto la necessità di salvare i dati del repository del progetto GitHub scaricato (potresti anche non averlo o preoccuparti), roba Steam (di nuovo lo stesso) o macchine virtuali VirtualBox. Il tuo elenco può includere un numero qualsiasi di queste sostituzioni, come ritieni opportuno, ovviamente. Ho aggiunto il mio per darti un'idea di come puoi farlo.

Ci sono molte altre possibili esclusioni. Ad esempio, questo elenco di GitHub contiene alcune centinaia di righe di esclusioni (destinate a rsync, ma per ragioni di discussione, non sono diverse qui), che potresti anche considerare per il tuo comando tar. Non ho omesso alcuna directory specifica del programma nella parte generica dell'elenco e ti ho fornito solo alcune sostituzioni personali. Il resto dipende da te e hai bisogno di un po' di compiti prima di poter procedere.

Infine, facciamo lampeggiare anche gli avvisi se uno qualsiasi dei file previsti per il backup cambia e salviamo l'archivio nella directory corrente (indicata con il punto). Puoi anche salvare in posizioni remote, altri dischi, qualunque cosa sembri appropriata. E poiché questo è un comando di shell, puoi anche scriverlo e quindi pianificarlo.

Crittografia

Una volta creato l'archivio, possiamo criptarlo con gpg:

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

Ti verrà chiesto di fornire una password per il tuo archivio. La fonte non verrà eliminata, quindi puoi (dovresti) provare ad aprire l'archivio, per assicurarti che funzioni e di ricordare la password. Sui sistemi che eseguono un ambiente desktop, verrà visualizzata una finestra di richiesta:

Errori

Potresti riscontrare alcuni errori mentre lavori con tar. Non ho usato apposta il flag -v sopra, in modo che vengano visualizzati solo gli errori e sono quindi più facili da individuare e risolvere. Alcuni degli errori comuni che vedrai sono:

tar:.:file modificato mentre lo leggiamo
tar:Uscita con stato di errore dovuto a errori precedenti

In questo caso, un file è stato modificato durante la creazione dell'archivio (come ad esempio un file di testo). Questo non è un errore di per sé, ma il file specifico non sarà incluso nell'archivio e lo stato di uscita del comando tar sarà un codice di errore di qualche tipo. Puoi ignorare l'errore o rieseguire la creazione dell'archivio tar. Puoi anche usare il flag --ignore-failed-read, se lo desideri, ma tieni presente che alcuni file NON verranno sottoposti a backup.

tar:./.config/.../leveldb/LOG:Impossibile aprire:Autorizzazione negata
tar:./.config/.../leveldb/000010.ldb:Impossibile aprire:Autorizzazione negata

Potresti visualizzare l'errore Autorizzazione negata. Questo di solito deriva da problemi di autorizzazione, ovvero alcuni file nella tua home directory non sono accessibili o non ti appartengono (non sei il proprietario), quindi il comando tar non può includerli nell'archivio. Puoi ignorare questi errori o correggere le autorizzazioni:

chown "il tuo utente":"il tuo gruppo" ~/* -R

Ripristino dati

C'è molto di più che puoi fare. La pagina TAR wiki di Ubuntu contiene molte informazioni utili, incluso come combinare backup e ripristino in rete, che possono essere molto utili. Ma l'attenzione qui è su fast 'n' dirty, quindi non lo stiamo complicando eccessivamente, apposta. Innanzitutto, dobbiamo decrittografare il file:

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

E poi, possiamo estrarlo:

tar -xpzf backup-name.tar.gz

Questo è il comando di estrazione dell'archivio tar più semplice. Puoi combinarlo con l'uso della directory di destinazione e altri flag, ma nella maggior parte dei casi potresti non voler copiare alla cieca i dati nell'archivio sul tuo sistema esistente a meno che tu non stia costruendo una nuova scatola.

Altre letture

Non dimenticare di eseguire anche il backup del tuo sistema!

Il nuovo e definitivo tutorial di CloneZilla

Revisione Timeshift - Facciamo di nuovo la distorsione temporale

Conclusione

E questo è tutto. Credo fermamente nei backup dei dati. In effetti, questa è la cosa più importante che dovresti esercitarti sui tuoi computer. È sempre utile disporre di più backup e più metodi per crearli, poiché ciò può aiutare con vari scenari di utilizzo che si presentano. A volte, uno strumento dell'interfaccia utente completo farà il lavoro. Altre volte, sarà il cavallo di battaglia di rsync. E ora puoi usare un altro vecchio programma affidabile, e questo è tar, con una piccola svolta gpg sul lato.

In questa guida abbiamo parlato di esclusioni, sia generiche che personali, abbiamo trattato la crittografia, toccato alcuni errori comuni che potresti (e molto probabilmente accadrai) quando usi tar e infine abbiamo anche eseguito il ripristino dei dati, che è importante quanto tutti gli altri passaggi. Si spera che le informazioni presentate qui siano a portata di mano. Prendetevi cura di quei byte, amici miei. Ci vediamo in giro.


Linux
  1. Come contare il numero di file in una directory ed eliminare il più vecchio se il numero supera 5?

  2. È possibile ridefinire la Tilde ("~", Home Directory)?

  3. Directory .misteriose nella directory principale?

  4. The Magic ~:espansione di Bash Tilde con 5 esempi

  5. Qual è lo scopo del file .bash_profile nella directory home dell'utente in Linux

Una guida per principianti alla navigazione nel filesystem Linux

$home non dovrebbe essere la posizione della directory principale dell'utente?

Come ripristinare il backup della directory principale in cPanel?

Come migrare la directory HOME su Linux

Synology NAS per Glacier Backup - La guida definitiva

La guida completa ai backup di cPanel