GNU/Linux >> Tutoriels Linux >  >> Linux

Sauvegarde du répertoire personnel - Le guide rapide et sale

Supposons que vous êtes un utilisateur Linux. Non, sérieusement, dis-le. D'ACCORD. Maintenant, vous êtes une personne Linux et vous souhaitez sauvegarder vos données personnelles, car c'est très important. En effet, avoir un plan de sauvegarde solide est une chose intelligente. Si vous êtes sur le point d'effectuer une mise à niveau importante du système, d'essayer un nouveau logiciel ou toute autre chose qui pourrait encombrer vos fichiers, une copie des données vous aidera à éviter toute déchirure ou panique indésirable.

Il y a deux façons de procéder. Premièrement, vous pouvez utiliser un outil quelconque, comme Grsync ou Deja Dup, et c'est parfaitement bien. Deux, vous pouvez écrire votre propre petit script. Normalement, il n'y a aucune raison de s'embêter avec cette dernière méthode, mais il est bon de savoir quoi faire en cas de besoin. Aujourd'hui, j'aimerais vous montrer comment vous pouvez créer des archives flexibles et cryptées (oui, cryptées) de vos données, avec des exclusions et ainsi de suite, puis pouvoir les enregistrer où vous voulez, un autre disque, un autre système, cloud, quoi qu'il en soit. Après moi.

Ternir vos données

Nous utiliserons le vénérable utilitaire tar. Il est disponible sur à peu près n'importe quelle machine UNIX/Linux, il ne nécessite aucune interface utilisateur pour fonctionner, et il est différent du rsync sexy et soigné en ce sens qu'il ne diffuse pas (synchronise) vos données vers un emplacement de sauvegarde. Il peut le faire, mais son objectif principal est de créer des archives de données.

Nous allons donc créer une archive locale avec tar, utiliser plusieurs drapeaux d'exclusion afin de ne pas sauvegarder les éléments qui ne nécessitent aucune rétention, comme les fichiers temporaires, les fichiers de débogage, le cache, la corbeille, etc., puis nous chiffrerons l'archive en utilisant un autre outil - gpg, afin que quiconque ayant accès à vos données, pour quelque raison que ce soit, ne puisse pas jeter un coup d'œil à l'intérieur, vilain vilain ils.

Jetons un coup d'œil à la liste ci-dessous. Veuillez noter qu'il n'est PAS exhaustif et qu'il peut y avoir de nombreuses autres exclusions dans votre configuration particulière. Mais c'est indicatif et conservateur, c'est-à-dire que certaines données éventuellement inutiles seront sauvegardées, même si vous ne pouvez pas les ajouter en toute sécurité.

tar -cpzf nom-sauvegarde.tar.gz \
--exclude=nom-sauvegarde.tar.gz\
--exclude=.cache \
--exclude=.debug \
--exclude=.dbus \
--exclude=.gvfs \
--exclude=.local/share/gvfs-metadata \
--exclude=.local/share /Trash \
--exclude=.recently-used \
--exclude=.thumbnails \
--exclude=.xsession-errors \
--exclude=.Trash \
--exclude=.steam \
--exclude=Téléchargements \
--exclude=GitHub \
--exclude=Public \
--exclude=Steam \
--exclude=Modèles \
--exclude="VirtualBox VMs" \
--warning=no-file-changed .

Qu'avons-nous ici ? Tout d'abord, le nom de l'archive. Il peut résider sur le même volume que le reste des données, mais vous avez alors besoin de la deuxième ligne, qui nous dit de ne pas inclure l'archive en elle-même (création). Ensuite, nous avons une série d'exclusions réelles. Certains d'entre eux sont génériques et d'autres spécifiques à l'utilisateur. Les exclusions génériques couvrent les données qui sont principalement liées à la session ou temporaires. Plus précisément (et j'entends par là de manière générique):

  • .cache - comme son nom l'indique.
  • .debug - comme son nom l'indique.
  • .dbus - données spécifiques à la session.
  • .gvfs :points de montage spécifiques à la session pour GVFS.
  • .local/share/gvfs-metadata - métadonnées pour ce qui précède.
  • .local/share/Trash - comme son nom l'indique.
  • .récemment utilisé - comme son nom l'indique.
  • .thumbnails - comme son nom l'indique.
  • .xsession-errors - erreurs spécifiques à la session.
  • .Trash - comme son nom l'indique.

Toutes les lignes d'exclusion après .Trash sont des remplacements personnels. Par exemple, je n'ai pas vu la nécessité d'enregistrer les données de référentiel de projet GitHub téléchargées (vous n'avez peut-être même pas cela ou vous en souciez), les éléments Steam (idem) ou les machines virtuelles VirtualBox. Votre liste peut inclure n'importe quel nombre de ces remplacements, comme bon vous semble, bien sûr. J'ai ajouté le mien pour vous donner une idée de la façon dont vous pouvez vous y prendre.

Il existe de nombreuses autres exclusions possibles. Par exemple, cette liste GitHub contient quelques centaines de lignes d'exclusions (destinées à rsync, mais pour les besoins de l'argument, pas différent ici), que vous pourriez également envisager pour votre commande tar. Je n'ai omis aucun répertoire spécifique au programme dans la partie générique de la liste et je ne vous ai donné que quelques remplacements personnels. Le reste dépend de vous, et vous avez besoin d'un peu de devoirs avant de pouvoir continuer.

Enfin, nous affichons également des avertissements si l'un des fichiers prévus pour la sauvegarde change, et nous enregistrons l'archive dans le répertoire actuel (indiqué par un point). Vous pouvez également enregistrer sur des emplacements distants, d'autres disques, tout ce qui semble approprié. Et comme il s'agit d'une commande shell, vous pouvez également la scripter, puis la planifier.

Cryptage

Une fois l'archive créée, nous pouvons la chiffrer avec gpg :

gpg -o nom-sauvegarde.tar.gz.gpg --symmetric nom-sauvegarde.tar.gz

Il vous sera demandé de fournir un mot de passe pour votre archive. La source ne sera pas supprimée, vous pouvez donc (devriez) tester l'ouverture de l'archive, pour vous assurer qu'elle fonctionne et que vous vous souvenez du mot de passe. Sur les systèmes exécutant un environnement de bureau, vous obtiendrez une invite de fenêtre :

Erreurs

Vous pourriez rencontrer quelques erreurs en travaillant avec tar. Je n'ai pas utilisé l'indicateur -v ci-dessus exprès, de sorte que seules les erreurs s'affichent, et elles sont alors plus faciles à repérer et à résoudre. Certaines des erreurs courantes que vous verrez sont :

tar :. :fichier modifié tel que nous le lisons
tar :sortie avec un statut d'échec en raison d'erreurs précédentes

Dans ce cas, un fichier a été modifié pendant la création de l'archive (comme, par exemple, un fichier texte). Ce n'est pas une erreur en soi, mais le fichier spécifique ne sera pas inclus dans l'archive, et l'état de sortie de la commande tar sera un code d'erreur quelconque. Vous pouvez ignorer l'erreur ou relancer la création de l'archive tar. Vous pouvez également utiliser l'indicateur --ignore-failed-read, si vous le souhaitez, mais sachez que certains fichiers ne seront PAS sauvegardés.

tar :./.config/.../leveldb/LOG :Impossible d'ouvrir :autorisation refusée
tar :./.config/.../leveldb/000010.ldb :Impossible d'ouvrir :autorisation refusée

Vous pouvez voir l'erreur Autorisation refusée. Cela provient généralement de problèmes d'autorisation, c'est-à-dire que certains fichiers de votre répertoire personnel ne sont pas accessibles ou ne vous appartiennent pas (vous n'êtes pas le propriétaire), de sorte que la commande tar ne peut pas les inclure dans l'archive. Vous pouvez ignorer ces erreurs ou corriger les autorisations :

chown "votre utilisateur":"votre groupe" ~/* -R

Restauration des données

Vous pouvez faire beaucoup plus. La page TAR du wiki Ubuntu contient de nombreuses informations utiles, notamment sur la manière de combiner les sauvegardes et la restauration sur le réseau, ce qui peut être très pratique. Mais l'accent est mis ici sur le rapide et le sale, donc nous ne le compliquons pas exagérément, exprès. Tout d'abord, nous devons déchiffrer le fichier :

gpg -o nom-sauvegarde.tar.gz -d nom-sauvegarde.tar.gz.gpg

Et puis, on peut l'extraire :

tar -xpzf nom-sauvegarde.tar.gz

Il s'agit de la commande d'extraction d'archive tar la plus élémentaire. Vous pouvez le combiner avec l'utilisation du répertoire cible et d'autres indicateurs, mais dans la plupart des cas, vous ne voudrez peut-être pas copier aveuglément les données de l'archive sur votre système existant, sauf si vous construisez une nouvelle boîte.

Plus de lecture

N'oubliez pas de sauvegarder également votre système !

Le nouveau et définitif tutoriel CloneZilla

Revue Timeshift - Recommençons le time warp

Conclusion

Et c'est à peu près tout. Je suis un fervent partisan des sauvegardes de données. En fait, c'est la chose la plus importante que vous devriez pratiquer sur vos ordinateurs. Il est toujours utile d'avoir plusieurs sauvegardes et plusieurs méthodes pour les créer, car cela peut aider avec divers scénarios d'utilisation qui se présentent à vous. Parfois, un outil d'interface utilisateur à part entière fera le travail. D'autres fois, ce sera le cheval de bataille de rsync. Et maintenant, vous pouvez utiliser un autre vieux programme fiable, c'est-à-dire tar, avec une petite touche gpg en plus.

Dans ce guide, nous avons parlé des exclusions, à la fois génériques et personnelles, nous avons couvert le chiffrement, abordé certaines erreurs courantes que vous pouvez (et très probablement) rencontrer lors de l'utilisation de tar, et enfin nous avons également effectué la restauration des données, qui est aussi importante que tout. les autres étapes. J'espère que vous trouverez les informations présentées ici à portée de main. Prenez soin de ces octets, mes cœurs. À bientôt.


Linux
  1. Une introduction à l'éditeur vi

  2. Pourquoi ‘~’ a-t-il été choisi pour représenter le répertoire personnel ?

  3. Comment compter le nombre de fichiers dans un répertoire et supprimer les plus anciens si le nombre dépasse 5 ?

  4. Est-il possible de redéfinir le tilde ('~', répertoire personnel) ?

  5. Mystérieux .répertoires dans le répertoire personnel ?

Un guide du débutant pour naviguer dans le système de fichiers Linux

$home n'est-il pas censé être l'emplacement du répertoire personnel de l'utilisateur ?

Comment restaurer la sauvegarde du répertoire personnel dans cPanel ?

Comment migrer le répertoire HOME sous Linux

Synology NAS vers Glacier Backup - Le guide ultime

Le guide complet des sauvegardes cPanel