web-dev-qa-db-fra.com

Comment utiliser tar pour une sauvegarde complète et une restauration avec le système sur SSD et home sur le disque dur?

Comment utiliser tar pour une sauvegarde complète et une restauration avec le système sur SSD et home sur le disque dur?

Les réponses existantes de sauvegarde et de restauration ne semblent pas couvrir le cas où la racine et la maison sont sur des périphériques distincts

13
Buildit

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 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/

va sauvegarder votre racine et exclure 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, les sauvegardes sont stockées 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 supprimer le --exclude=... de la 1ère commande.

  • backup.tar.gz est la sauvegarde.
  • Le --exclude empêche la sauvegarde de la sauvegarde réelle.
  • cvpzf: crée, commente, conserve les autorisations, compresse, utilise un fichier.

  • - Système à un fichier - N'incluez pas de fichiers sur un système de fichiers différent. Si vous souhaitez sauvegarder d'autres systèmes de fichiers, tels qu'une partition/home ou un support externe monté dans/media, vous devez soit les sauvegarder séparément, soit omettre cet indicateur. Si vous omettez cet indicateur, vous devrez ajouter plusieurs arguments supplémentaires --exclude = pour éviter les systèmes de fichiers non souhaités. Ce sont les répertoires racine/proc,/sys,/mnt,/media,/run et/dev. /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 voulez donc pas essayer de les sauvegarder ou de les restaurer./dev est un fichier tmpfs dont le contenu est créé et supprimé dynamiquement par udev. Par conséquent, vous ne souhaitez pas le sauvegarder ni le restaurer. De même,/run est un fichier tmpfs contenant des variables relatives au système en cours d'exécution qui n'ont pas besoin d'être sauvegardées ( Source ).


Alors ... si vous voulez toujours un "one-liner", ça pourrait ressembler à ça:

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)


Restaurer serait

Sudo su
cd /
tar xvzf backup.tar.gz

Je n'ai pas utilisé Sudo devant la commande tar car vous obtiendrez des messages d'erreur concernant les autorisations (en raison de fichiers appartenant à root).

16
Rinzwind