RSNAPSHOT (RSYNC -basiert) - Ein lokales Dienstprogramm für Linux/Remote -Dateisystem -Sicherungsprogramm für Linux

RSNAPSHOT (RSYNC -basiert) - Ein lokales Dienstprogramm für Linux/Remote -Dateisystem -Sicherungsprogramm für Linux

rsnapshot ist eine Open Source lokal / Fernbedienung Das Dateisystem -Sicherungsdienstprogramm wurde geschrieben in Perl Sprache, die die Kraft von Vorteil Rsync Und Ssh Programm zu erstellen, geplante inkrementelle Sicherungen von Linux/Unix Dateisysteme, während der Speicherplatz nur einen einzelnen vollen Sicherungsunterschiede in Anspruch nimmt und diese Backups eingeschaltet hat lokal Antrieb zu unterschiedlich Festplatte, ein externes USB Stick, ein NFS -montiertes Laufwerk oder einfach über das Netzwerk zu einem anderen Computer über eine andere Maschine Ssh.

Installieren Sie das RSNAPShot -Backup -Tool

Dieser Artikel zeigt, wie man installiert, eingerichtet und verwendet rsnapshot inkrementell erstellen stündlich, täglich, wöchentlich Und monatlich Lokale Backups sowie Remote -Backups. Um alle Schritte in diesem Artikel auszuführen, müssen Sie es sein Wurzel Benutzer.

Schritt 1: Installation von RSNAPSHOT -Backup unter Linux

Installation von rsnapshot Verwendung Yum Und GEEIGNET kann geringfügig unterscheiden, wenn Sie verwenden roter Hut Und Debian basierte Verteilungen.

Auf rhel/centos

Zuerst müssen Sie ein Repository von Drittanbietern installieren und aktivieren Epel. Bitte folgen Sie den folgenden Link zum Installieren und Aktivieren unter Ihrem Rhel/Centos Systeme. Fedora Benutzer benötigen keine speziellen Repository -Konfigurationen.

  1. Installieren und Aktivieren von Epel Repository in RHEL/Centos 6/5/4

Sobald Sie die Dinge eingerichtet haben, installieren Sie sich rsnapshot Aus der Befehlszeile wie gezeigt.

# yum installieren rsnapshot
Auf Debian/Ubuntu/Linux Mint

Standardmäßig, rsnapshot enthalten in UbuntuRepositories, sodass Sie sie verwenden können apt-get Befehl wie gezeigt.

# APT-Get Installieren Sie RSNAPShot

Schritt 2: Einrichten von SSH-Kennwort-Login-Login

Um Remote -Linux -Server zu sichern, sind Ihre RSNAPSHOT BACKUP -Server wird in der Lage sein, sich durch eine Verbindung durchzusetzen Ssh ohne Passwort. Um dies zu erreichen, müssen Sie eine erstellen Ssh öffentliche und private Schlüssel zur Authentifizierung am rsnapshot Server. Bitte folgen Sie unten Link, um öffentliche und private Schlüssel auf Ihrem zu generieren rsnapshot Sicherungsserver.

  1. Erstellen Sie mit SSH Keygen eine SSH -Passwort -Login

Schritt 3: Konfigurieren von RSNAPShot

Jetzt müssen Sie einige Parameter bearbeiten und hinzufügen rsnapshot Konfigurationsdatei. Offen rsnapshot.Conf Datei mit vi oder Nano Editor.

# vi /etc /rsnapshot.Conf

Erstellen Sie als nächstes ein Backup -Verzeichnis, in dem Sie alle Ihre Backups speichern möchten. In meinem Fall lautet mein Backup -Verzeichnisstandort “/Datensicherung/”. Suchen Sie nach dem folgenden Parameter und bearbeiten Sie den Sicherungsspeicherort.

snapshot_root/data/backup/

Auch das "CMD_SSHLinie, damit Remote -Backups übernehmen können Ssh. Um die Linie zu kontrollieren, entfernen Sie die “#”In der Front der folgenden Zeile so das rsnapshot kann Ihre Daten sicher auf einen Backup -Server übertragen.

cmd_sssh/usr/bin/ssh

Als nächstes müssen Sie entscheiden, wie viele alte Backups Sie behalten möchten, denn RSNAPSHOT hatte keine Ahnung, wie oft Sie Schnappschüsse machen möchten. Sie müssen angeben, wie viel Daten zu speichern, Intervalle hinzuzufügen und wie viele von jedem.

Nun, die Standardeinstellungen sind gut genug, aber ich möchte trotzdem, dass Sie aktivieren “monatlichIntervall, damit Sie auch längerfristige Sicherungen haben können. Bitte bearbeiten Sie diesen Abschnitt, um den folgenden Einstellungen ähnlich auszusehen.

############################################Backup -Intervalle#muss eindeutig und einzigartig sein und sein in aufsteigender Reihenfolge # # i.e. stündlich, täglich, wöchentlich usw. ##############################################stündlich 6 Intervall täglich 7 Intervallwöchentlich 4 Intervall monatlich 3

Eine weitere Sache, die Sie bearbeiten müssen, ist “ssh_args”Variable. Wenn Sie den Standard geändert haben SSH -Port (22) Zu etwas anderem müssen Sie diese Portnummer Ihres Remote -Sicherungsservers angeben.

SSH_ARGS -P 7851

Fügen Sie schließlich Ihre lokalen und Remote -Backup -Verzeichnisse hinzu, die Sie sichern möchten.

Sicherung lokaler Verzeichnisse

Wenn Sie sich entschlossen haben, Ihre Verzeichnisse lokal auf derselben Maschine zu sichern, würde der Sicherungseintrag so aussehen. Zum Beispiel nehme ich Backup von My /Tecmint Und /usw Verzeichnisse.

backup/ tecmint/ localhost/ backup/ etc/ localhost/
Backup -Remote -Verzeichnisse

Wenn Sie ein Remote -Server -Verzeichnis sichern möchten, müssen Sie dem RSNAPShot mitteilen, wo sich der Server befindet und welche Verzeichnisse Sie sichern möchten. Hier nehme ich eine Sicherung meines Remote -Servers. “/heim"Verzeichnis unter"/Datensicherung”Verzeichnis auf dem RSNAPShot -Server.

Sicherung [E -Mail geschützt]:/home//daten/backup/

Lesen Sie auch:

  1. Soinderung/Synchronisationsverzeichnisse mithilfe von RSYNC -Tool (Remote Sync)
  2. So übertragen Sie Dateien/Ordner mit dem SCP -Befehl
Dateien und Verzeichnisse ausschließen

Hier werde ich alles ausschließen und dann nur speziell definieren, was ich unterstützen möchte. Dazu müssen Sie eine ausschließliche Datei erstellen.

# vi/data/backup/tecmint.ausschließen

Holen Sie sich zuerst die Liste der Verzeichnisse, die Sie unterstützen und hinzufügen möchten ( - * ) alles andere ausschließen. Dadurch wird nur das sichergestellt, was Sie in der Datei aufgeführt haben. Meine Ausschlussdatei sieht wie unten ähnlich aus.

+ /boot + /data + /tecmint + /etc + /home + /opt + /root + /usr - /usr /* - /var /cache + /var - /*

Die Verwendung von Dateioptionen ausschließend kann aufgrund der Verwendung von sehr schwierig sein rsync Rekursion. Mein oben genannter Beispiel ist also möglicherweise nicht das, was Sie suchen. Fügen Sie als nächstes die ausschließende Datei hinzu zu rsnapshot.Conf Datei.

ausschließen_file/data/backup/tecmint ausschließen.ausschließen

Schließlich sind Sie fast fertig mit der ersten Konfiguration. Speichern Sie die "/etc/rsnapshot.ConfKonfigurationsdatei, bevor Sie sich weiter bewegen. Es gibt viele Optionen zu erklären, aber hier ist meine Beispielkonfigurationsdatei.

config_version 1.2 snapshot_root /data/backup/ cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du interval hourly 6 interval daily 7 Intervall Weekly 4 Intervall Monthly 3 SSH_ARGS -P 25000 VERBOSE 2 LOGLEVEL 4 LOGFILE/VAR/LOG/RSNAPSHOT/EXKLUDE_FILE/DATA/BACKUP/TECMINT.RSYNC_LONG_ARGS-DELETE-Numeric-IDs-Delete-ausgeschlossene Lockfile/var/run/rsnapshot ausschließen.PID -Backup/ Tecmint/ localhost/ backup/ etc/ localhost/ backup [E -Mail geschützt]:/ home// daten/ backup/

Alle oben genannten Optionen und Argumentenerklärungen sind wie folgt:

  1. config_version 1.2 = Konfigurationsdateiversion
  2. snapshot_root = Sicherungsziel zum Speichern von Schnappschüssen
  3. CMD_CP = Pfad zum Kopieren des Befehls
  4. CMD_RM = Pfad zum Entfernen des Befehls
  5. cmd_rsync = Pfad zu rsync
  6. CMD_SSH = Pfad zu SSH
  7. cmd_logger = Pfad zur Shell -Befehlsschnittstelle zu syslog
  8. cmd_du = Befehl Pfad zur Datenträgernutzung
  9. Intervall stündlich = Wie viele stündliche Backups zu halten.
  10. Intervall täglich = Wie viele tägliche Backups zu halten.
  11. Intervall wöchentlich = Wie viele wöchentliche Backups zu halten.
  12. monatlich ein Intervall = Wie viele monatliche Backups zu halten.
  13. ssh_args = Optionale SSH-Argumente, wie z. B. ein anderer Port (-P)
  14. ausführlich = Selbsterklärend
  15. Loglevel = Selbsterklärend
  16. Logdatei = Pfad zur Logfile
  17. ausschließen_file = Pfad zur Ausschlussdatei (wird ausführlicher erläutert)
  18. rsync_long_args = Lange Argumente, die an RSYNC geleitet werden müssen
  19. Lockfile = Selbsterklärend
  20. Backup = Voller Weg zu dem, was gesichert werden soll, gefolgt vom relativen Platz der Platzierung.

Schritt 4: Überprüfen Sie die RSNAPShot -Konfiguration

Sobald Sie mit Ihrer All -Konfiguration fertig sind, ist es Zeit, zu überprüfen, ob alles wie erwartet funktioniert. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ihre Konfiguration die richtige Syntax hat.

# RSNAPSHOT CONFIGTEST Syntax OK

Wenn alles richtig konfiguriert ist, erhalten Sie eine “Syntax OK" Nachricht. Wenn Sie Fehlermeldungen erhalten, müssen Sie diese Fehler vor dem Ausführen korrigieren rsnapshot.

Führen Sie als nächstes einen Testlauf auf einem der Schnappschüsse durch, um sicherzustellen, dass wir korrekte Ergebnisse generieren. Wir nehmen das "stündlichParameter, um einen Testlauf zu verwenden -T (prüfen) Streit. In diesem folgenden Befehl wird eine ausführliche Liste der Dinge angezeigt, die er tun wird, ohne sie tatsächlich zu tun.

# rsnapshot -t stündlich
Probenausgabe
Echo 2028>/var/run/rsnapshot.PID mkdir -m 0700 -p/data/backup/mkdir -m 0755 -p/data/backup/stündlich.0//usr/bin/rsync -a--delete-numeric-ids--Relativ-Delete-Excluded/Home \/backup/stündlich.0/localhost/mkdir -m 0755 -p/backup/stündlich.0//usr/bin/rsync -a--delete-numeric-ids--Relativ-Delete-Excluded/etc \/backup/stündlich.0/localhost/mkdir -m 0755 -p/data/backup/stündlich.0//usr/bin/rsync -a--Delete-numeric-ids--Relativ-Delete-Excluded \/usr/local/data/backup/stündlich.0/localhost/touch/data/backup/stündlich.0/

Notiz: Der obige Befehl sagt rsnapshot um eine zu erstellen “stündlichBackup. Es druckt tatsächlich die Befehle aus, die es ausführen wird, wenn wir sie wirklich ausführen.

Schritt 5: Rsnapshot manuell ausführen

Nachdem Sie Ihre Ergebnisse überprüfen, können Sie das entfernen “-T”Option, den Befehl wirklich auszuführen.

# Rsnapshot stündlich

Im obigen Befehl wird das Sicherungsskript mit der gesamten Konfiguration ausgeführt, die wir in der hinzugefügt haben rsnapshot.Conf Datei und erstellt eine “BackupVerzeichnis und erstellt dann die Verzeichnisstruktur darunter, die unsere Dateien organisiert. Nach dem Oben -Befehl können Sie die Ergebnisse überprüfen, indem Sie zum Sicherungsverzeichnis gehen und die Verzeichnisstruktur mithilfe von LS -L -Befehl wie gezeigt auflisten.

# CD /Daten /Backup # LS -l Gesamt 4 DRWXR-XR-X 3 Root Root 4096 Okt 28 09:11 Stundenstündlich.0

Schritt 6: Automatisieren des Vorgangs

Um den Prozess zu automatisieren, Sie müssen planen rsnapshot in bestimmten Abständen von ausgeführt werden Cron. Standardmäßig, rsnapshot kommt mit Cron Datei unter “/etc/cron.D/rsnapshot„Wenn es nicht existiert, erstellen Sie eine und fügen Sie ihm die folgenden Zeilen hinzu.

Standardmäßig werden Regeln kommentiert, sodass Sie die „entfernen müssen“#”Von vor dem Planungsabschnitt, um diese Werte zu aktivieren.

# Dies ist eine Beispiel -Cron -Datei für RSNAPShot. # Die verwendeten Werte entsprechen den Beispielen in /etc /rsnapshot.Conf. # Dort können Sie auch die Sicherungspunkte und viele andere Dinge festlegen. # # Um diese Cron -Datei zu aktivieren. # Fühlen Sie sich frei, es an Ihre Bedürfnisse anzupassen. 0 */4 * * * root/usr/bin/rsnapshot stündlich 30 3 * * * root/usr/bin/rsnapshot Dail monatlich bin bin/rsnapshot

Lassen Sie mich genau erklären, was oben Cron Rules tut:

  1. Läuft alle 4 Stunden und schafft eine stündlich Verzeichnis unter /Backup Verzeichnis.
  2. Läuft täglich bei 3:30 Uhr und erstellen a täglich Verzeichnis unter /Backup Verzeichnis.
  3. Läuft wöchentlich auf jedem Montag bei 3:00 Uhr morgens und erstellen a wöchentlich Verzeichnis unter /Backup Verzeichnis.
  4. Läuft alle monatlich bei 2:30 Uhr und erstellen a monatlich Verzeichnis unter /Backup Verzeichnis.

Besser verstehen, wie Cron Regeln Arbeiten, ich schlage vor, Sie lesen unseren Artikel, der beschreibt.

  1. 11 Beispiele für Cron -Planung

Schritt 7: Rsnapshot berichtet

Der rsnapshot Bietet eine raffinierte kleine Berichterstattung Perl Skript Das schickt dir eine Email Alarm Mit allen Details darüber, was während Ihrer Datensicherung passiert ist. Um dieses Skript einzurichten, müssen Sie das Skript irgendwo unter “kopieren“/usr/local/binUnd machen es ausführbar.

# cp/usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl/usr/local/bin # chmod +x/usr/local/bin/rsnapreport.Pl

Als nächstes fügen Sie "hinzu"-Statistiken"Parameter in Ihrem"rsnapshot.ConfDatei in den Abschnitt Long Argumente des RSYNC -Arguments.

vi /etc /rsnapshot.Conf
rsync_long_args-stats-delete-numeric-ids-delete-excluded

Jetzt bearbeiten Crontab -Regeln das wurden früher hinzugefügt und rufen die an rsnapreport.Pl Skript zum Übergeben der Berichte an die angegebene E -Mail -Adresse.

# Dies ist eine Beispiel -Cron -Datei für RSNAPShot. # Die verwendeten Werte entsprechen den Beispielen in /etc /rsnapshot.Conf. # Dort können Sie auch die Sicherungspunkte und viele andere Dinge festlegen. # # Um diese Cron -Datei zu aktivieren. # Fühlen Sie sich frei, es an Ihre Bedürfnisse anzupassen. 0 */4 * * * root/usr/bin/rsnapshot stündlich 2> & 1 | \/usr/local/bin/rsnapreport.pl | Mail -S "Stundensicherung" [E -Mail geschützt] 30 3 * * Root/usr/bin/rsnapshot täglich 2> & 1 | \/usr/local/bin/rsnapreport.pl | Mail -s "Daily Backup" [E -Mail geschützt] 0 3 * * 1 root/usr/bin/rsnapshot wöchentlich 2> & 1 | \/usr/local/bin/rsnapreport.pl | Mail -S "Weekly Backup" [E -Mail geschützt] 30 2 1 * * root/usr/bin/rsnapshot monatlich 2> & 1 | \/usr/local/bin/rsnapreport.pl | Mail -S "Montly Backup" [E -Mail geschützt]

Sobald Sie die oben genannten Einträge korrekt hinzugefügt haben, erhalten Sie einen Bericht an Ihre E-Mail-Adresse ähnlich wie unten.

Quelle Total Dateien Dateien trans Total MB MB Translist Gen-Zeitdatei XFER-Zeit ------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------- localhost/ 185734 11853 2889.45 6179.18 40.661 Sekunde 0.000 Sekunden

Referenzlinks

  1. rsnapshot homepage

Das war's vorerst, wenn Probleme während der Installation auftreten, geben Sie mir einen Kommentar ab. Bis dahin bleiben Sie dran auf Tecmint Für interessantere Artikel über die Open -Source -Welt.