web-dev-qa-db-fra.com

rsnapshot Push TO le serveur À PARTIR DU CLIENT

J'ai découvert que rsnapshot est un excellent outil pour sauvegarder mes fichiers pour un système de fichiers local. Maintenant, je dois faire un fichier rsnapshot_Push.conf où je donne des paramètres au serveur rsync. Quel est le bon moyen de le faire? Puis-je utiliser rsync pour/rsnapshot-backups/localhost/le synchroniser avec le serveur rsync.

5
user13123

Rsnapshot est conçu par tirage. La puissance de Rsnapshot réside dans l’utilisation de liens physiques, ce qui ne fonctionne que pour les systèmes de fichiers locaux. (nfs peut être utilisé car il supporte les liens durs, mais pas par exemple sshfs).

Dans un scénario Push, la meilleure solution consiste simplement à transmettre à un répertoire de sauvegarde sur le serveur à l'aide de rsync, puis à autoriser le traitement instantané par le gestionnaire rsnapshot à partir de ce répertoire, comme prévu. Rsnapshot ne se soucie pas de savoir si les modifications ont été introduites par un rsync ou en enregistrant un fichier.

Dans rsnapshot FAQ, il existe une solution sophistiquée qui déclenche rsnapshot après rsync , mais cela pourrait être excessif. Exécuter simplement rsnapshot à partir de ses tâches récurrentes cron fonctionne tout aussi bien.

Une autre solution est rdiff-backup , mais cela ne présente pas une vue de répertoire Nice de chaque instantané et nécessite l'exécution de commandes pour restaurer les fichiers, ce qui peut compliquer la restauration rapide.

9
Egil

Une autre option consiste à utiliser un tunnel SSH inversé puis à effectuer une traction "à distance" du côté du récepteur:

#!/bin/bash -x
IVAL=${1:-hourly}
ssh -vNR 1998:localhost:22 example.com &
ssh example.com "rsnapshot -c pull-from-sender-rsnapshot.conf ${IVAL}"

pull-from-sender-rsnapshot.conf pourrait contenir une ligne comme celle-ci:

backup localhost:1998/etc/  desktop-1

Cela peut être appelé par cron du côté de l'expéditeur, ce qui déclenche le rsnapshot distant localement.

3
erjoalgo