Introduction

Introduction

Rsnapshot est un outil de sauvegarde écrit en perl qui utilise RSYNC comme back-end. RSNAPShot permet aux utilisateurs de créer des solutions de sauvegarde incrémentielles personnalisées. Cet article discutera des éléments suivants: les avantages d'une solution de sauvegarde incrémentielle, de l'installation de Rsnapshot, de sa configuration et des exemples d'utilisation.

Se remettre en arrière!

J'ai récemment discuté avec un collègue des avantages de sauvegarder vos données. Mon collègue me disait comment l'un de ses clients avait récemment perdu un article assez long sur lequel ils travaillaient. J'ai décidé que cela pourrait être une bonne chance d'expérimenter avec mon netbook et mon rsnapshot. Pour ce tutoriel, je suppose que vous avez 2 éléments de matériel: votre ordinateur hôte et votre équipement de destination. J'utiliserai un disque dur externe pour la majorité de ce post. Cependant, je couvrirai brièvement l'utilisation pour sauvegarder des fichiers sur un LAN.

Sauvegarder vos données ne devrait pas être la question à poser, mais plutôt comment dois-je sauvegarder mes affaires? Quelle est la meilleure façon? Eh bien, il existe de nombreuses voies de sauvegarde différentes que vous pouvez emprunter, y compris le niveau de bloc (DD, Partimage), le niveau de partition (RAID et toutes ses variations), le niveau de fichier (application de RSYNCand ses enfants). Je discuterai de deux types de sauvegardes dans le contexte des sauvegardes basées sur les fichiers.

Les sauvegardes normales, ou les sauvegardes complètes, sont explicatives. Les sauvegardes normales sont un moyen de sauvegarder tous vos fichiers chaque fois que vous effectuez une sauvegarde. Un problème avec l'utilisation d'un schéma de sauvegarde normal multiple est qu'une sauvegarde normale occupe une quantité considérable d'espace. Par exemple, si vous effectuez une sauvegarde complète d'un disque dur de 250gig à une capacité de 20%, tous les jours pendant une semaine seulement (en supposant que la quantité de données ne fluctuera pas) que vous avez déjà utilisé 350ggs pour une seule semaine de sauvegardes. Comme vous pouvez le voir, ce n'est pas possible à long terme. L'autre méthode que je préfère est la méthode de sauvegarde incrémentielle. Une sauvegarde incrémentielle se compose d'une sauvegarde complète, puis d'effectuer des sauvegardes supplémentaires. Ces sauvegardes supplémentaires seul Les fichiers de sauvegarde qui ont changé depuis la dernière sauvegarde. Au lieu de sauvegarder l'ensemble de votre disque dur, seuls les fichiers spécifiques qui ont changé depuis la dernière sauvegarde sont sauvegardés. Comme vous pouvez probablement l'imaginer, c'est un processus beaucoup plus efficace. Un outil qui fait cela sur * Nix est Rsnapshot.



Qu'est-ce que Rsnapshot?

RSNAPShot, comme mentionné précédemment, est un utilitaire de sauvegarde incrémentiel. Dans ce tutoriel, je vais vous montrer comment créer un schéma de sauvegarde de rotation de sept jours en utilisant RSNAPSHOT. Essentiellement, RSNAPShot créera 1 sauvegarde complète, puis les sauvegardes ultérieures seront sauvegarder uniquement les fichiers qui ont changé. La véritable puissance de RSNAPSHOT est sa capacité à utiliser des liens durs entre chaque sauvegarde. Chaque sauvegarde semble être une sauvegarde complète. En réalité, chaque nouvelle sauvegarde se compose de fichiers nouvellement créés ou mis à jour. RSNAPSHOT peut être utilisé sur un LAN et peut également être exécuté de Cron. Dans ce tutoriel, je vais montrer les deux exemples d'utilisation.

Installation

L'installation de RSNAPShot est assez simple, exécutez simplement la commande Linux suivante:

Sur Debian (ou Ubuntu):

APT-Get Installer rsnapshot

Sur Fedora:

miam installer rsnapshot

Sur Archlinux:

pacman -s rsnapshot

Maintenant, configurons rsnapshot.

Configuration

Jetez un œil à / etc, si / etc / rsnapshot.confli.il existe une défaut, vous devez le copier sur / etc / rsnapshot.confli. Si la .Le fichier par défaut n'existe pas, puis créer une sauvegarde de la .confli. Ceci est utile dans le cas où vous devez le référencer plus tard.

Ouvrir rsnapshot.confr et commencer à l'éditer à vos besoins. Le fichier de configuration de Rsnapshot est bien commenté. Cela rend la configuration beaucoup plus facile. Je commencerais par découverte toutes les applications dans la section «Dépendances de programme externe» du fichier de configuration. Pour commencer, décalmentez les lignes suivantes:

CMD_RSYNC / USO / BIN / RSYNC
cmd_d / bin / d
CMD_RSNAPSHOT_DIFF / USA / BIN / RSNAPSHOT-DIFF

Vous devrez peut-être modifier l'emplacement de Rsnapshot-Diff, si Rsnapshot ne le localise pas. Pour vous assurer que vous faites référence au problème binaire correct:

où est rsnapshot-difficulté

Vous devez maintenant décider comment concevoir exactement votre schéma de sauvegarde. Une fois que vous avez installé un plan, vous devez modifier les lignes «intervalles» situées sous des «intervalles de sauvegarde». RSNAPSHOT peut faire des sauvegardes horaires, quotidiennes, hebdomadaires et mensuelles. Mon système fait un schéma de sauvegarde de sept jours, mais vous pouvez décider ici ce que vous aimeriez faire. Un exemple pourrait être de créer une sauvegarde qui fonctionne toutes les six heures, tous les jours de la semaine. C'est toi qui décides. J'utiliserai ma configuration comme exemple. Voir la capture d'écran ci-dessous:



Les deux autres lignes dont vous avez besoin pour les comment sont le Snapshot_root (situé au début du script) et la sauvegarde (située sous «Points de sauvegarde / scripts»).

snapshot_root $ destination / #specifie où vos sauvegardes sont stockées
.
.
Sauvegarde $ Source / $ Hastens
#backup Spécifie ce que vous faites de la sauvegarde, vous pouvez sauvegarder
#From plusieurs emplacements spécifient simplement plusieurs lignes de sauvegarde

La ligne de sauvegarde se compose de trois parties. Ces trois parties incluent la «sauvegarde» de la déclaration, l'emplacement de la source et les accidents. Chaque composant doit être séparé par un onglet et les répertoires doivent se terminer avec / ou rsnapshot ne sera pas correctement. Deux autres fonctionnalités à noter est la fonctionnalité de journalisation et la possibilité d'utiliser les fichiers incluls / excluls de RSYNC. Décommente les trois lignes suivantes (et modifier en conséquence):

Verbose 5 #Comment beaucoup d'informations si
#Actual Backup Relay à vous?
LOGLEVEL 5 #SHOW DOIT INFORMATION
# nous devriez être stocké dans le fichier journal?
logfile $ log_file_destination # où le logfile est stocké?

Comme vous l'avez probablement remarqué en lisant les commentaires dans le .Fichier Conf, la verbosité varie de 1 à 5, avec 5 étant le plus verbeux. Je permettrais au début de voir si tout fonctionne bien. Ce niveau de contrôle est utile. Si vous rencontrez des problèmes, vous avez la possibilité d'effectuer un débogage.

Comme mentionné précédemment, vous pouvez également utiliser RSYNC Inclure et exclure des fichiers et ci-dessous est un exemple d'exclusion du fichier.

#EXCLURE
# pas pour sauvegarder à côté ~
- / home / javier / data /
- / home / javier / $ dest /

Inclure les fichiers sont de nature similaire. Au lieu de «-« utiliser »+» pour indiquer les données que vous souhaitez inclure. Si vous décidez que vous souhaitez utiliser des fichiers incluent ou excluez les fichiers, jetez un œil aux lignes inclue_file / exclure_file. Voici ma section du RSnapshot.Conf notant ces options.

include_file / home / javier / backup / inclure.qui
exclure_file / home / javier / sauvegarde / exclure.qui

Si vous avez suivi jusqu'à ce point. Si vous souhaitez exécuter quelque chose avant ou après les finitions RSNAPShot, jetez un œil aux lignes CMD_PREEEXEC et CMD_POSTEXEC. Vous pouvez décommenter ces lignes et spécifier des scripts à exécuter avant ou après l'achèvement d'une sauvegarde si nécessaire. Sinon, vous avez terminé de modifier votre fichier de configuration. Exécutez maintenant la commande Linux suivante:

RSNAPSHOT ConfigTest

Capture d'écran ci-dessous:

Cette commande exécute Rsnapshot et lui dit d'effectuer un contrôle de santé.confli. Si tout se passait, alors vous devriez obtenir la sortie suivante: «Syntaxe OK."Si vous ne lisez pas la sortie, il vous donne et modifiez RSNapshot.confEs tel que nécessaire.



Exemples d'utilisation

Je vais discuter de trois formes d'utilisation de rsnapshot. Ces formulaires incluent localement, à distance et son automatisation (via Cron).L'utilisation ne diffère pas entre l'exécution locale ou à distance. Je vais plutôt souligner les différences de fichiers de configuration

Utilisation de rsnapshot localement

Pour la sauvegarde locale, les deux lignes importantes sont:

snapshot_root $ dest /
Sauvegarde $ source / $ hostname /

Vous pouvez spécifier plusieurs sources de sauvegarde, en créant simplement plusieurs lignes faisant référence à chaque répertoire que vous souhaitez sauvegarder.
Pour exécuter un problème de sauvegarde, la commande Linux suivante:

rsnapshot quotidiennement

Vous pouvez également utiliser toutes les heures, hebdomadaires et mensuelles comme options. Chaque commande créera un répertoire de sauvegarde en fonction de l'opération spécifiée. Si je parcoure mon emplacement de sauvegarde, je verrai ce qui suit:

[some_user @ hostname backupdir] # ls
quotidien.0 tous les jours.1 bûche

La sortie ci-dessus montre que j'ai deux sauvegardes d'un schéma de sauvegarde de sept jours créé.

Sauvegarde à distance

Pour utiliser les capacités de sauvegarde à distance de RSNAPShot, spécifiez simplement l'emplacement distant comme source de sauvegarde (pour activer la sauvegarde à distance, SSH devra être activé pour le serveur. L'authentification basée sur les clés sera votre meilleure option ici):

BACKUP ROOT @ Exemple.com: / home / exemple.com /

Une fois que vous avez spécifié une source distante comme emplacement pour sauvegarder simplement RSNAPShot. Exemple ci-dessous:

rsnapshot horaire

Automation avec cron

Si vous avez une expérience avec Cronthen, l'ajout d'une entrée avec un instantané consiste simplement à ajouter la commande spécifique E.g. «Rsnapshot horaire» et la syntaxe pertinente sur Cron. Voici quelques exemples:

20 23 * * * / usr / bin / rsnapshot quotidien # La sauvegarde quotidienne est effectuée à 23h20
05 23 * * 7 / usr / bin / rsnapshot hebdomadaire # La sauvegarde hebdomadaire est effectuée à 23h05
# le dimanche

Il est recommandé de planifier des sauvegardes plus grandes avant les petites sauvegardes (comme indiqué ci-dessus) pour éviter les conflits avec les rotations entre les sauvegardes. De plus, il est recommandé de créer un écart entre les plus grandes sauvegardes et les sauvegardes plus petites pour éviter les conflits entre chaque travail.



Autres utilisations de rsnapshot

RSNAPShot est livré avec plusieurs autres fonctionnalités utiles. Par exemple, vous pouvez exécuter la commande Linux suivante:

rsnapshot du

Pour voir la quantité d'espace disque qu'il utilise (DU doit être non composé dans / etc / rsnapshot.conf). Capture d'écran ci-dessous:

Vous pouvez exécuter ce qui suit pour comparer les modifications entre les sauvegardes:

rsnapshot diff.0 Daily1

Vous devriez voir une sortie similaire à la capture d'écran ci-dessous:


Voir la page de l'homme de Rsnapshot pour des fonctionnalités supplémentaires.

Dépannage

Si vous obtenez des problèmes concernant LCHOWN, exécutez la commande Linux suivante:

perl -mcpan -e 'installer qc (lchown)'

Conclusion

Après avoir terminé avec succès ce tutoriel, vous devriez maintenant avoir un schéma de sauvegarde de haute qualité en place. Pour une documentation supplémentaire, consultez la page Man de Rsnapshot et sa page d'accueil située ici. Il contient un excellent commentaire, qui est disponible dans plusieurs formats. De plus, je recommanderais de consulter d'autres programmes de sauvegarde, il s'agit notamment de RSYNC (back-end à RSNAPShot), Rdiff-Backup, Partimage et DD.

Tutoriels Linux connexes:

  • Exemples RSync dans Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment créer des sauvegardes incrémentielles à l'aide de RSYNC sur Linux
  • Meilleur logiciel de sauvegarde Ubuntu
  • Choses à installer sur Ubuntu 20.04
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment créer des sauvegardes incrémentielles et différentielles avec du goudron
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Comment créer des sauvegardes système incrémentielles avec Timeshift sur…
  • Masterring Bash Script Loops