Come utilizzerei tar per il backup completo e il ripristino con il sistema su SSD e home su HDD?


14

Come utilizzerei tar per il backup completo e il ripristino con il sistema su SSD e home su HDD?

Le risposte di backup e ripristino esistenti non sembrano coprire il caso in cui root e home si trovano su dispositivi separati


Benvenuti in AU! Stai cercando una cosa unica o una soluzione continua / periodica? La destinazione del backup è locale o remota? tarnon importa davvero di dispositivi e punti di montaggio. Si prega di modificare il tuo post per includere le informazioni aggiuntive.
David Foerster,

"Le risposte di backup e ripristino esistenti non sembrano coprire il caso in cui root e home si trovano su dispositivi separati" il motivo: è una cattiva idea e creare 2 file di backup non è solo più intelligente ma anche più efficiente.
Rinzwind,

Risposte:


17

Si consiglia di eseguire DUE backup. 1 per / e 1 per / home se si trovano su partizioni diverse. Se ne vuoi uno dovrai aggiungere molte eccezioni a quell'unico comando. Esempio:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

eseguirà il backup della radice ed escluderà TUTTE le partizioni montate, come / media (non si desidera eseguire il backup di dispositivi esterni (in realtà non lo si fa)) e NON si desidera assolutamente eseguire il backup di qualcosa come / dev o / proc. E / home passa a un altro backup.

Nel metodo sopra il backup è archiviato in /. Sarà meglio archiviarlo su un supporto esterno; puoi quindi mettere una directory davanti a backup.tar.gz e rilasciarla --exclude=...dal 1 ° comando.

  • backup.tar.gz è il backup.
  • Il --excludeimpedirà il backup effettivo da backuppata.
  • cvpzf: crea, verbose, conserva i permessi, comprime, usa un file.

  • --one-file-system - Non includere file in un file system diverso. Se si desidera eseguire il backup di altri file system, come una partizione / home o supporti esterni montati in / media, è necessario eseguirne il backup separatamente o omettere questo flag. Se ometti questo flag, dovrai aggiungere molti altri argomenti --exclude = per evitare i filesystem che non desideri. Queste sarebbero le directory / proc, / sys, / mnt, / media, / run e / dev in root./ proc e / sys sono filesystem virtuali che forniscono finestre in variabili del kernel in esecuzione, quindi non si desidera provare a eseguirne il backup o il ripristino. / dev è un tmpfs i cui contenuti vengono creati ed eliminati dinamicamente da udev, quindi anche tu non vuoi fare il backup o ripristinarlo. Allo stesso modo, / run è un tmpfs che contiene variabili relative al sistema in esecuzione di cui non è necessario eseguire il backup ( sorgente ).


Quindi ... se davvero vuoi ancora un "one-liner" potrebbe apparire così:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(Spero di avere tutto ciò che deve essere escluso)


Ripristino sarebbe

sudo su
cd /
tar xvzf backup.tar.gz

Non ho usato sudodavanti al comando tar poiché riceverai messaggi di errore relativi alle autorizzazioni (a causa dei file di proprietà di root).


Il tuo suggerimento su due righe ha funzionato molto bene, tranne per il fatto che durante il backup del sistema ho ricevuto un messaggio. "/lib64/ld-linux86-64.so2 tar: /: file modificato durante la lettura." È normale durante un backup?
Buildit

Sì. tar ti informerà delle modifiche al file durante l'azione di backup del file stesso (controlla lo stato del file prima e dopo il backup). In generale questi messaggi sono innocui. Se si dispone di un proprio software / dati e lo si ottiene su uno di quei file, ricreare io stesso il backup.
Rinzwind,

Tar standard non comprime, unisce semplicemente tutto in un file (TAR = Tape ARchive). Prova invece gtar.
Alan Campbell,

1
Se il comando non eseguirà il backup di determinate directory, devo ricrearle quando ripristino il sistema? Inoltre, quali vantaggi ha questo metodo semplicemente usando Deja-Dup?
user4493605
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.