RDIFF-BACKUP - Un outil de sauvegarde incrémentiel à distance pour Linux

RDIFF-BACKUP - Un outil de sauvegarde incrémentiel à distance pour Linux

rdiff-backup est un script Python puissant et facile à utiliser pour une sauvegarde incrémentielle locale / à distance, qui fonctionne sur tout système d'exploitation POSIX tel que Linux, Mac OS X ou Cygwin. Il rassemble les caractéristiques remarquables d'un miroir et une sauvegarde incrémentielle.

De manière significative, il préserve les sous-répertoires, les fichiers de développement, les liens durs et les attributs de fichiers critiques tels que les autorisations, la propriété UID / GID, les temps de modification, les attributs étendus, les ACL et les fourches de ressources. Il peut fonctionner dans un mode efficace à la bande passante sur un tuyau, de la même manière que l'outil de sauvegarde RSYNC populaire.

rdiff-backup sauvegarde un seul répertoire vers un autre sur un réseau utilisant SSH, ce qui implique que le transfert de données est crypté ainsi sécurisé. Le répertoire cible (sur le système distant) finit par une copie exacte du répertoire source, mais les différences inversées supplémentaires sont stockées dans un sous-répertoire spécial dans le répertoire cible, ce qui permet de récupérer les fichiers perdus il y a quelque temps.

Dépendances

Pour utiliser RDIFF-Backup dans Linux, vous aurez besoin des packages suivants installés sur votre système:

  • Python v2.2 ou plus tard
  • libsync v0.9.7 ou plus tard
  • Les modules pylibacl et pyxattr python sont facultatifs mais nécessaires pour la liste de contrôle d'accès POSIX (ACL) et le support d'attribut étendu respectivement.
  • rdiff-backup-statistics nécessite Python v2.4 ou plus tard.

Comment installer rdiff-backup à Linux

Important: Si vous opérez sur un réseau, vous devrez installer RDIFF-Backup les deux systèmes, de préférence les deux installations de RDiff-Backup devront être exactement la même version.

Le script est déjà présent dans les référentiels officiels des distributions Linux grand public, exécutez simplement la commande ci-dessous pour installer Rdiff-Backup ainsi que ses dépendances:

Intall rdiff-backup sur Ubuntu

À installer Rdiff-backup sur Ubuntu focal ou Debian Bullseye ou plus récent (a 2.0).

$ sudo apt-get updue $ sudo apt-get install libsync-dev rdiff-backup 

À installer Rdiff-backup Sur les arrière-plans d'Ubuntu pour les versions plus anciennes (a besoin d'un recul 2.0).

$ sudo add-att-repository ppa: rdiff-backup / rdiff-backup-backports $ sudo apt update $ sudo apt install rdiff-backu 

Sur Centos / Rhel 8

Pour installer RDIFF-Backup sur Centos et Rhel 8 (de COPR).

$ sudo yum install yum-plagin-copp epel-lilease $ sudo yum copr activer Frankcrawford / rdiff-backup $ sudo yum install rdiff-backup 

Sur Centos / Rhel 7

Pour installer RDIFF-Backup sur Centos et Rhel 7 (de COPR).

$ sudo yum install yum-plagin-copp epel-lilease $ sudo yum copr activer Frankcrawford / rdiff-backup $ sudo yum install rdiff-backup 

Sur Centos / Rhel 6

$ sudo yum install Centos-Release-Scl $ sudo yum install rh-python36 gcc libacl-devel $ scl active rh-python36 bash $ sudo pip install rdiff-backup pyxattr pylibacl $ echo 'eecd scl active rh-python36 - rdiff-backup "[Protégé par e-mail]" '| sudo tee / usr / bin / rdiff-backup $ sudo chmod + x / usr / bin / rdiff-backup 

Sur Fedora

Pour installer Rdiff-Backup sur Fedora 32+.

$ sudo dnf installer rdiff-backup 

Comment utiliser Rdiff-Backup dans Linux

Comme je l'ai mentionné auparavant, rdiff-backup Utilise SSH pour se connecter à des machines distantes sur votre réseau, et l'authentification par défaut dans SSH est la méthode du nom d'utilisateur / mot de passe, qui nécessite normalement une interaction humaine.

Cependant, pour automatiser des tâches telles que les sauvegardes automatiques avec des scripts et au-de.

Une fois que vous avez configuré la connexion sans mot de passe SSH, vous pouvez commencer à utiliser le script avec les exemples suivants.

Fichiers de sauvegarde dans différentes partitions

L'exemple ci-dessous sauvegardera le /etc répertoire dans un Sauvegarde Répertoire sur une autre partition:

$ sudo rdiff-backup / etc / media / aaronkilik / data / backup / mint_etc.sauvegarde 
Fichiers de sauvegarde dans différentes partitions

Pour exclure un répertoire particulier ainsi que ses sous-répertoires, vous pouvez utiliser le --exclure Option comme suit:

$ sudo rdiff-backup --exclude / etc / cockpit --exclude / etc.sauvegarde 

Nous pouvons inclure tous les fichiers de périphérique, les fichiers FIFO, les fichiers de socket et les liens symboliques avec le --incluez des fichiers spéciaux Option comme ci-dessous:

$ sudo rdiff-backup - include-spécial-files --exclude / etc / cockpit / media / aaronkilik / data / backup / mint_etc.sauvegarde 

Il existe deux autres drapeaux importants que nous pouvons définir pour la sélection des fichiers; --taille maximale taille qui exclut les fichiers plus grands que la taille donnée en octets et --taille mini-file Taille qui exclut les fichiers plus petits que la taille donnée en octets:

$ sudo rdiff-backup - max-file-size 5m --include-spécial-files --exclude / etc / cockpit / media / aaronkilik / data / backup / mint_etc.sauvegarde 

Sauvegarder les fichiers distants sur le serveur Linux local

Aux fins de cette section, nous utiliserons:

Serveur distant (Tecmint): 192.168.56.102 serveur de sauvegarde local (sauvegarde): 192.168.56.dix 

Comme nous l'avons dit précédemment, vous devez installer la même version de rdiff-backup Sur les deux machines, essayez maintenant de vérifier la version sur les deux machines comme suit:

$ rdiff-backup -v 
Vérifiez la version RDIFF sur les serveurs

Sur le serveur de sauvegarde, créez un répertoire qui stockera les fichiers de sauvegarde comme tel:

# MKDIR -P / Backups 

Maintenant, à partir du serveur de sauvegarde, exécutez les commandes suivantes pour faire une sauvegarde des répertoires / var / log / et /racine à partir du serveur Linux distant 192.168.56.102 dans / sauvegardes:

# rdiff-backup [Protégé par e-mail] :: / var / log / / backups / 192.168.56.102_logs.Sauvegarde # rdiff-backup [Protégé par e-mail] :: / root / / backups / 192.168.56.102_rootfiles.sauvegarde 

La capture d'écran ci-dessous affiche le fichier racine sur le serveur distant 192.168.56.102 Et les fichiers sauvegardés sur le serveur arrière 192.168.56.dix:

Répertoire distant de sauvegarde sur le serveur local

Prenez note du rdiff-backup-data répertoire créé dans le sauvegarde Répertoire vu dans la capture d'écran, il contient des données vitales concernant le processus de sauvegarde et les fichiers incrémentiels.

RDIFF-BACKUP - Fichiers de processus de sauvegarde

Maintenant, sur le serveur 192.168.56.102, Des fichiers supplémentaires ont été ajoutés au répertoire racine comme indiqué ci-dessous:

Vérifiez le répertoire de sauvegarde

Exécutons la commande de sauvegarde une fois de plus pour obtenir les données modifiées, nous pouvons utiliser le -v [0-9] (Lorsque le nombre spécifie le niveau de verbosité, la valeur par défaut est 3 qui est silencieuse) Option pour définir la fonction de verbosité:

# rdiff-backup -v4 [e-mail protégé] :: / root / / backups / 192.168.56.102_rootfiles.sauvegarde 
Sauvegarde incrémentielle avec résumé

Et pour énumérer le nombre et la date des sauvegardes incrémentielles partielles contenues dans le / Backups / 192.168.56.102_rootfiles.sauvegarde Répertoire, nous pouvons courir:

# rdiff-backup -L / Backups / 192.168.56.102_rootfiles.sauvegarde/ 

Automatisation de la sauvegarde RDIFF-Back à l'aide de Cron

Nous pouvons imprimer des statistiques de résumé après une sauvegarde réussie avec le --statistiques d'impression. Cependant, si nous ne définissons pas cette option, les informations seront toujours disponibles dans le fichier de statistiques de session. En savoir plus concernant cette option dans la section statistique de la page de l'homme.

Et le -schéma à distance Flag nous permet de spécifier une autre méthode de connexion à un ordinateur distant.

Maintenant, commençons par créer un sauvegarde.shot script sur le serveur de sauvegarde 192.168.56.dix comme suit:

# cd ~ / bin # via sauvegarde.shot 

Ajoutez les lignes suivantes dans le fichier de script.

#!/ bin / bash #colon -restrict read-only / "'[e-mail protégé] :: / var / journaux / sauvegardes / 192.168.56.102_logs.Retour #Checking Rdiff-Backup Commande Success / Erreur Statut = $? Si [$ statut != 0]; puis #APPEND Message d'erreur dans ~ / Backup.Fichier journal Echo "Rdiff-Backup Code de sortie: $ Status - Commande Sans succès" >> ~ / Sauvegarde.enregistrer; sortie 1; FI #Remove Fichiers de sauvegarde incrémentiel plus d'un mois rdiff-backup --Force --Remove-in-plus-on que 1M / Backups / 192.168.56.102_logs.dos 

Enregistrez le fichier et sortez, puis exécutez la commande suivante pour ajouter le script au crontab sur le serveur de sauvegarde 192.168.56.dix:

# crontab -e 

Ajoutez cette ligne pour exécuter votre script de sauvegarde quotidiennement à minuit:

0 0 * * * / root / bin / sauvegarde.sh> / dev / null 2> & 1 

Enregistrez le crontab et fermez-le, maintenant nous avons réussi à automatiser le processus de sauvegarde. Assurez-vous que cela fonctionne comme prévu.

Lisez la page Rdiff-Backup Man pour des informations supplémentaires, des options et des exemples d'utilisation exhaustifs:

# man rdiff-backup 

Page d'accueil de Rdiff-Backup: http: // www.nongnu.org / rdiff-backup /

C'est tout pour le moment! Dans ce tutoriel, nous vous avons montré comment installer et essentiellement utiliser Rdiff-Backup, un script Python facile à utiliser pour une sauvegarde incrémentielle locale / distante dans Linux. Partagez vos réflexions avec nous via la section de rétroaction ci-dessous.