07.06.2023

So richten Sie inkrementelle regelmäßige Sicherungen mit Rsync ein Ubuntu 20.04

Früher haben wir uns angeschaut Installation von Rsync auf Ubuntu 20.04 und Erstellen eines einmaligen Backups. Um die Einrichtung anhand der aktuellen Anleitung abzuschließen, befolgen Sie die Schritte im ersten Artikel.

Für viele Aufgaben reicht es aus, die Ausführung eines solchen Backups zu Cron hinzuzufügen. Mit diesen Tools können Sie jedoch mehrere Kopien von Dateien erstellen und speichern und über einen bestimmten Zeitraum einen Änderungsverlauf verfolgen. In diesem Tutorial werfen wir einen Blick darauf, wie man mit Rsync ein inkrementelles regelmäßiges Backup einrichtet Ubuntu 20.04

Backup-Logik

Bei der ersten Sicherung werden alle Zieldateien im abgelegt voller Ordner. Bei nachfolgenden Starts aktualisiert das Skript alle Dateien in diesem Ordner und platziert die alten Versionen der geänderten Dateien im Zuwachs Ordner mit dem entsprechenden Datum. Somit wird stets ein aktuelles Voll-Backup sowie eine Liste der geänderten Dateien für jedes Datum gepflegt. Der Aufbewahrungszeitraum wird konfiguriert, ebenso wie die Häufigkeit des Aufgabenstarts.

Wir haben die Grundkonfiguration für die Interaktion von Servern mit Rsync im durchgeführt erster Teil des Handbuchs. Wir erstellen nun ein Skript für regelmäßige inkrementelle Backups.

Erstellen eines Backup-Skripts

Erstellen Sie Ordner zum Speichern Ihrer Backups:

sudo mkdir -p /opt/destinatIonen/voll
sudo mkdir -p /opt/destinatIon/Inkrement

Beim Erstellen einer Skriptdatei können Sie einen Speicherortordner auswählen. Wenn Sie es in die stecken /etc/cron.stündlich Ordner erfolgt die Synchronisierung stündlich, und wenn im /etc/cron.daily, dann täglich usw. Erstellen wir eine Skriptdatei:

sudo nano /etc/cron.hourly/backup

Vermeiden Sie Punkte im Skriptdateinamen in Cron-Scheduler-Ordnern. Erfahren Sie mehr über Cron.

Im folgenden Skript müssen Sie mindestens die korrekte IP-Adresse des Quellservers angeben. Die restlichen Werte können unverändert bleiben. Fügen Sie die folgenden Zeilen in die geöffnete Datei ein:

#! / Bin / bash
# Pfad zum Ordner für Backups
dest=/opt/destinatIon
# IP-Adresse des Quellservers
IP=10.5.5.10
# Rsync-Benutzer auf dem Quellserver
user=Backup-Benutzer
# Die Ressource, die wir in der Datei /etc/rsyncd.conf auf dem Quellserver konfiguriert haben
src=Daten
# Legen Sie den Aufbewahrungszeitraum für inkrementelle Sicherungen in Tagen fest
Aufbewahrung=30
# Starten Sie den Backup-Prozess
rsync -a --delete --password-file=/etc/rsyncd.passwd ${user}@${ip}::${src} ${dest}/full/ --backup --backup-dir=$ {dest}/increment/`date +%Y-%m-%d`/
# Bereinigen Sie inkrementelle Archive, die älter als der angegebene Aufbewahrungszeitraum sind
find ${dest}/increment/ -min Depth 1 -max Depth 2 -type d -mtime +${retention} -exec rm -rf {} \;

Speichern Sie die Skriptdatei und fügen Sie Startrechte hinzu:

sudo chmod 0744 /etc/cron.hourly/backup

Jetzt synchronisiert das Skript die Daten in der Quelle und im Zielnation jede Stunde und fügt alte Versionen gelöschter Dateien dem entsprechenden Ordner hinzu /opt/destinatIon/Inkrement/.