Comment utiliser tar pour la sauvegarde et la restauration complètes avec le système sur SSD et la maison sur disque dur?

14

Comment utiliser tar pour la sauvegarde et la restauration complètes avec le système sur SSD et la maison sur disque dur?

Les réponses de sauvegarde et de restauration existantes ne semblent pas couvrir le cas où root et home sont sur des appareils séparés

Construit le
la source
Bienvenue à AU! Vous cherchez une solution ponctuelle ou une solution continue / périodique? La destination de sauvegarde est-elle locale ou distante? tarne se soucie pas vraiment des appareils et des points de montage. Veuillez modifier votre message pour inclure les informations supplémentaires.
David Foerster
"Les réponses existantes en matière de sauvegarde et de restauration ne semblent pas couvrir le cas où root et home se trouvent sur des appareils séparés" la raison: c'est une mauvaise idée et créer 2 fichiers de sauvegarde est non seulement plus intelligent mais aussi plus efficace.
Rinzwind du

Réponses:

17

Il est conseillé de faire DEUX sauvegardes. 1 pour / et 1 pour / home s'ils se trouvent sur une partition différente. Si vous en voulez une, vous devrez ajouter de nombreuses exceptions à cette seule commande. Exemple:

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

sauvegardera votre racine et exclura TOUTES les partitions montées, comme / media (vous ne voulez pas sauvegarder les périphériques externes (vous ne le faites vraiment pas)) et vous ne voulez absolument PAS sauvegarder quelque chose comme / dev ou / proc. Et / home passe à une autre sauvegarde.

Dans la méthode ci-dessus, la sauvegarde est stockée dans /. Il sera préférable de le stocker sur un support externe; vous pouvez ensuite placer un répertoire devant le fichier backup.tar.gz et le supprimer --exclude=...de la 1ère commande.

  • backup.tar.gz est la sauvegarde.
  • La --excludeempêchera la sauvegarde réelle à backupped.
  • cvpzf: créer, verbaliser, conserver les autorisations, compresser, utiliser un fichier.

  • --one-file-system - N'inclut pas de fichiers sur un système de fichiers différent. Si vous souhaitez que d'autres systèmes de fichiers, tels qu'une partition / home ou des supports externes montés dans / media soient sauvegardés, vous devez soit les sauvegarder séparément, soit omettre cet indicateur. Si vous omettez cet indicateur, vous devrez ajouter plusieurs arguments --exclude = pour éviter les systèmes de fichiers dont vous ne voulez pas. Il s'agit des répertoires / proc, / sys, / mnt, / media, / run et / dev à la racine./ proc et / sys sont des systèmes de fichiers virtuels qui fournissent des fenêtres aux variables du noyau en cours d'exécution, vous ne devez donc pas essayer de les sauvegarder ou de les restaurer. / dev est un tmpfs dont le contenu est créé et supprimé dynamiquement par udev, donc vous ne voulez pas non plus le sauvegarder ou le restaurer. De même, / run est un tmpfs qui contient des variables sur le système en cours d'exécution qui n'ont pas besoin d'être sauvegardées ( Source ).


Donc ... si vous voulez vraiment encore un "one-liner" cela pourrait ressembler à ceci:

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

(J'espère avoir tout ce qui doit être exclu)


La restauration serait

sudo su
cd /
tar xvzf backup.tar.gz

Je ne l'ai pas utilisé sudodevant la commande tar car vous obtiendrez des messages d'erreur concernant les autorisations (à cause des fichiers appartenant à root).

Rinzwind
la source
Votre suggestion sur deux lignes a très bien fonctionné, sauf que lors de la sauvegarde du système, j'ai reçu un message. "/lib64/ld-linux86-64.so2 tar: /: fichier modifié au fur et à mesure que nous le lisons." Est-ce normal lors d'une sauvegarde?
Buildit
Oui. tar vous informera des changements dans le fichier pendant l'action de sauvegarde de ce fichier lui-même (il vérifie l'état du fichier avant et après sa sauvegarde). En général, ces messages sont inoffensifs. Si vous avez vos propres logiciels / données et que vous les récupérez sur l'un de ces fichiers, je recréerais moi-même la sauvegarde.
Rinzwind
Le tar standard ne se comprime pas, il joint tout simplement à un seul fichier (TAR = Tape ARchive). Essayez plutôt gtar.
Alan Campbell
1
Si la commande ne sauvegarde pas certains répertoires, dois-je les recréer lors de la restauration du système? Quels sont les avantages de cette méthode à utiliser simplement Deja-Dup?
user4493605