Duplicité - Créez des sauvegardes incrémentales cryptées dans Linux

Duplicité - Créez des sauvegardes incrémentales cryptées dans Linux

L'expérience montre que vous ne pouvez jamais être trop paranoïaque sur les sauvegardes du système. Lorsqu'il s'agit de protéger et de préserver les données précieuses, il est préférable de faire un effort supplémentaire et de vous assurer que vous pouvez compter sur vos sauvegardes si le besoin s'en fait.

Même aujourd'hui, lorsque certains fournisseurs de cloud et d'hébergement proposent des sauvegardes automatisées pour les VP à un coût relativement faible, vous ferez bien de créer votre propre stratégie de sauvegarde en utilisant vos propres outils afin d'économiser de l'argent et peut-être de l'utiliser peut-être pour acheter un stockage supplémentaire ou Obtenez un plus grand VPS.

[Vous pourriez également aimer: 25 Utilitaires de sauvegarde exceptionnels pour les systèmes Linux]

Ça a l'air intéressant? Dans cet article, nous vous montrerons comment utiliser un outil appelé Duplicité Pour sauvegarder et chiffrer les fichiers et répertoires. De plus, l'utilisation de sauvegardes incrémentielles pour cette tâche nous aidera à économiser de l'espace.

Cela dit, commençons.

Installation de l'outil de sauvegarde de la duplicité dans Linux

Pour installer la duplicité dans les distros basés sur RHEL, vous devrez activer le Epel Référentiel d'abord (vous pouvez omettre cette étape si vous utilisez Feutre lui-même):

# mim mise à jour # yum installer ePel-release ou # yum install https: // dl.fedoraproject.org / pub / epel / epel-libérer lest-8.noarch.RPM 

Puis courez,

# yum install duplicité 

Pour Debian et dérivés:

$ sudo apt update $ sudo apt install duplicity 

En théorie, de nombreuses méthodes de connexion à un serveur de fichiers soient prises en charge, bien que seuls SSH / SCP / SFTP, l'accès aux fichiers locaux, RSYNC, FTP, HSI, WebDAV et Amazon S3 aient été testés en pratique jusqu'à présent.

Une fois l'installation terminée, nous utiliserons exclusivement SFTP Dans divers scénarios, à la fois pour sauvegarder et restaurer les données.

Notre environnement de test se compose d'un Rhel 8 boîte (pour être sauvegardé) et un Debian 11 Machine (serveur de sauvegarde).

Création de clés SSH pour la connexion sans mot de passe sur le serveur distant

Commençons par créer les clés SSH dans notre boîte rhel et les transférer au Debian serveur de sauvegarde.

Si vous exécutez SSH sur un port différent, alors la commande ci-dessous suppose le SSHD Daemon écoute sur le port Xxxxx Dans le serveur Debian. Remplacer Aaa.BBB.CCC.DDD avec l'IP réelle du serveur distant.

# ssh-keygen -t RSA # ssh-copy-id [e-mail protégé] # ssh-copy-id -p xxxxx [e-mail protégé] 

Ensuite, vous devez vous assurer que vous pouvez vous connecter au serveur de sauvegarde sans utiliser de mot de passe:

# ssh [e-mail protégé] 
Connexion à distance sans mot de passe SSH

Maintenant, nous devons créer le GPG Clés qui seront utilisées pour le chiffrement et le décryptage de nos données:

# gpg2 --full-gén-key 

Vous serez invité à entrer:

  • Sorte de clé
  • Taille clé
  • Combien de temps la clé doit être valide
  • Une phrase secrète
Créer une clé RSA GPG dans Linux

Pour créer l'entropie nécessaire à la création des touches, vous pouvez vous connecter au serveur via une autre fenêtre de terminal et effectuer quelques tâches ou exécuter certaines commandes pour générer l'entropie (sinon vous devrez attendre longtemps pour cette partie de le processus à terminer).

Une fois les clés générées, vous pouvez les énumérer comme suit:

# gpg - list-keys 
Liste des clés GPG

La chaîne mise en évidence en jaune ci-dessus est connue sous le nom d'identification de la clé publique et est un argument demandé pour crypter vos fichiers.

Création d'une sauvegarde Linux avec duplicité

Pour démarrer simple, ne faisons que sauvegarder le / var / log répertoire, à l'exception de / var / log / anaconda et / var / log / SA.

Puisqu'il s'agit de notre première sauvegarde, elle sera pleine. Les analyses suivantes créeront des sauvegardes incrémentielles (sauf si nous ajoutons l'option complète sans tirets juste à côté de la duplicité dans la commande ci-dessous):

# PassPhrase = "Tecmint" duplicity --encrypt-key 115b4bb13bc768b8b2704e5663c429c3db8bad3b --exclude / var / log / anaconda --exclud / var / log / sa / var / log scp: // [e-mail protégé] // backups / rhel8 ou # # PassPhrase = "YourPassPhrasehere" duplicity --encrypt-key yourpublickeyidhere --exclude / var / log / anaconda --exclude / var / log / sa / var / log scp: // [e-mail protégé]: xxxxx // backups / rhel8 

Assurez-vous de ne pas manquer la double slash dans la commande ci-dessus! Ils sont utilisés pour indiquer un chemin absolu vers un répertoire nommé / Backups / RHEL8 dans la boîte de sauvegarde et c'est l'endroit où les fichiers de sauvegarde seront stockés.

Remplacer Votre Passphrasehere, Votre Publickeyidhere, et Éloigneur Avec la phrase secrète que vous avez entrée plus tôt, l'ID de clé publique GPG, et avec le nom IP ou le nom d'hôte du serveur de sauvegarde, respectivement.

Votre sortie doit être similaire à l'image suivante:

Créer une sauvegarde à l'aide de la duplicité

L'image ci-dessus indique qu'un total de 86.3 Mb a été soutenu dans un 3.22 Mb dans la destination. Passons au serveur de sauvegarde pour vérifier notre sauvegarde nouvellement créée:

Confirmer les fichiers de sauvegarde Linux

Une deuxième exécution de la même commande donne une taille et un temps de sauvegarde beaucoup plus petits:

Sauvegarde de compression

Restauration de sauvegardes Linux en utilisant la duplicité

Pour restaurer avec succès un fichier, un répertoire avec son contenu ou toute la sauvegarde, la destination ne doit pas exister (la duplicité ne remplacera pas un fichier ou un répertoire existant). Pour clarifier, supprimons le cron Connectez-vous dans la boîte Centos:

# rm -f / var / log / cron 

La syntaxe pour restaurer un seul fichier à partir du serveur distant est:

# PassPhrase = "YourPassPhrasehere" duplicity --file-to-restore nom de fichier sftp: // [e-mail protégé] // backups / rhel8 / where / to / restaurer / nom de fichier 

où,

  • nom de fichier Le fichier est-il à extraire, avec un chemin relatif vers le répertoire qui a été sauvegardé
  • / où / à / restaurer est le répertoire du système local où nous voulons restaurer le fichier pour.

Dans notre cas, pour restaurer le journal principal Cron à partir de la sauvegarde distante, nous devons exécuter:

# PassPhrase = "YourPassphrasehere" duplicité - File-To-Restore Cron Sftp: // [Protégé par e-mail]: xxxxx // Backups / RHEL8 / VAR / LOG / CRON 

Le journal cron doit être restauré à la destination souhaitée.

De même, n'hésitez pas à supprimer un répertoire de / var / log et le restaurer à l'aide de la sauvegarde:

# rm -rf / var / log / mail # passPhrase = "YourPassPhrasehere" duplicité - File-To-Restore Mail Sftp: // [Email Protected]: XXXXX // BACKUPS / RHEL8 / VAR / LOG / MAIL 

Dans cet exemple, le poster Le répertoire doit être restauré à son emplacement d'origine avec tout son contenu.

Autres caractéristiques de la duplicité

À tout moment, vous pouvez afficher la liste des fichiers archivés avec la commande suivante:

# Duplicity List-Current-Files sftp: // [Protégé par e-mail]: xxxxx // Backups / RHEL8 

Supprimer les sauvegardes de plus de 6 mois:

# Duplicity Suppter-Elder-Than 6M SFTP: // [Protégé par e-mail]: XXXXX // BACKUPS / RHEL8 

Restaurer mon fichier répertoire intérieur gacanepa comme il y a 2 jours et 12 heures:

# duplicité -T 2D12H - File-To-Restore Gacanepa / MyFile Sftp: // [Protégé par e-mail]: xxxxx // Remotedir / Backups / Home / Gacanepa / MyFile 

Dans la dernière commande, nous pouvons voir un exemple de l'utilisation de l'intervalle de temps (comme spécifié par -t): une série de paires où chacune se compose d'un nombre suivi par l'un des personnages s, m, H, D, W, M, ou Y (indiquant les secondes, les minutes, les heures, les jours, les semaines, les mois ou les années respectivement).

Résumé

Dans cet article, nous avons expliqué comment utiliser la duplicité, un utilitaire de sauvegarde qui fournit un cryptage pour les fichiers et les répertoires hors de la boîte. Je vous recommande fortement de jeter un œil au site Web du projet de duplicité pour plus de documents et d'exemples.

Nous avons fourni une page d'homme de duplicité au format PDF pour votre commodité en lecture, est également un guide de référence complet.

N'hésitez pas à nous faire savoir si vous avez des questions ou des commentaires.