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/destination/full
sudo mkdir -p /opt/destination/increment
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
# Path to folder for backups
dest=/opt/destination
# Source server IP address
ip=10.5.5.10
# Rsync user on source server
user=backup-user
# The resource we configured in the /etc/rsyncd.conf file on the source server
src=data
# Set the retention period for incremental backups in days
retention=30
# Start the backup process
rsync -a --delete --password-file=/etc/rsyncd.passwd ${user}@${ip}::${src} ${dest}/full/ --backup --backup-dir=${dest}/increment/`date +%Y-%m-%d`/
# Clean up incremental archives older than the specified retention period
find ${dest}/increment/ -mindepth 1 -maxdepth 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