Inhaltsverzeichnis:
- Schritt 1: Annahmen
- Schritt 2: Rdiff-Backup installieren
- Schritt 3: Identifizieren Sie die Verzeichnisse, die Sie sichern möchten
- Schritt 4: Automatisieren
- Schritt 5: Schreiben Sie eine Funktion
- Schritt 6: Sagen Sie dem Skript, welche Verzeichnisse gesichert werden sollen
- Schritt 7: Das Ganze jetzt zusammen
- Schritt 8: Zu Cron hinzufügen
- Schritt 9: Wiederherstellen
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Diese Anleitung zeigt Ihnen, wie Sie ein einfaches Backup- und Wiederherstellungssystem mit vollem Funktionsumfang unter Linux mit Rdiff-Backup und einem USB-Laufwerk ausführen.
Schritt 1: Annahmen
Ich gehe von einem System aus, das yum für die Installation verwendet und Ihr USB-Laufwerk als /mnt//backup gemountet hat. Ich verwende Fedora, aber Sie können alles verwenden und einfach rdiff-backup installieren, wie Sie möchten. Es steht auch hier zum Download zur Verfügung:
Schritt 2: Rdiff-Backup installieren
Installiere rdiff-backup[root@HOST scripts]# yum installiere rdiff-backup
Schritt 3: Identifizieren Sie die Verzeichnisse, die Sie sichern möchten
Sie können das gesamte System sichern, aber das kann übertrieben sein. Ich möchte mein /etc/-Verzeichnis für alle Änderungen sichern, die ich an named, sendmail, network, etc, /data und meinen Home-Verzeichnissen vorgenommen habe.
Schritt 4: Automatisieren
Natürlich möchten Sie dies nicht von Hand tun. Wir werden ein Skript schreiben. Als erstes im Skript überprüfen wir, ob das USB-Laufwerk gemountet ist, und beenden, wenn nicht. #!/bin/bash#Skript zum Sichern auf USB-LaufwerkBACKUPBASE="/backups"#Überprüfen Sie, ob das Sicherungsziel gemountet ist.if `df -h | grep $BACKUPBASE >/dev/null ` then echo "Starting $0 `date`"else echo "ERROR: $BACKUPBASE not mounted" echo "$0 exiting `date` " exit 1fi
Schritt 5: Schreiben Sie eine Funktion
Als nächstes werden wir eine Funktion schreiben, um die Sicherung tatsächlich durchzuführen. function backup { DEST=$1$2 SOURCE=$2 echo "Src: $SOURCE" if [-d $DEST] then echo "Dest: $DEST" else mkdir -p $DEST echo "Dest: $DEST -created" OPTS=" --force" fi #Sicherung durchführen rdiff-backup -v2 --exclude-special-files $OPTS $SOURCE $DEST #Versionsdateien bereinigen, die älter als 4 Wochen sind rdiff-backup -v2 --remove-older-than 4W --force $ DEST #Drucken Sie einen Bericht darüber, was wir gesichert und bereinigt haben rdiff-backup --list-changed-since 0D23h00m $DEST}
Schritt 6: Sagen Sie dem Skript, welche Verzeichnisse gesichert werden sollen
backup $BACKUPBASE /databackup $BACKUPBASE /etcbackup $BACKUPBASE /usr/localbackup $BACKUPBASE /home
Schritt 7: Das Ganze jetzt zusammen
#!/bin/bash#Skript zum Sichern auf USB-LaufwerkBACKUPBASE="/backups"#Überprüfen Sie, ob das Sicherungslaufwerk gemountet ist. if `df -h | grep $BACKUPBASE >/dev/null `then echo "Starting $0 `date`"else echo "ERROR: $BACKUPBASE not mounted" echo "$0 beendet `date` " exit 1fifunction backup { DEST=$1$2 SOURCE=$2 echo "Src: $SOURCE" if [-d $DEST] then echo "Dest: $DEST" else mkdir -p $DEST echo "Dest: $DEST -created" OPTS="--force" fi #Backup durchführen rdiff-backup -v2 --exclude-special-files $OPTS $SOURCE $DEST #Versionsdateien, die älter als 4 Wochen sind, bereinigen rdiff-backup -v2 --remove-older-than 4W --force $DEST #Drucken Sie einen Bericht darüber, was wir gesichert und bereinigt haben rdiff-backup --list-changed-since 0D23h00m $DEST}backup $BACKUPBASE /databackup $BACKUPBASE /etcbackup $BACKUPBASE /usr/localbackup $BACKUPBASE /home
Schritt 8: Zu Cron hinzufügen
[root@HOST-Skripte]# crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh > /var/log/backup.log 2>&1
Schritt 9: Wiederherstellen
Um die neueste Version wiederherzustellen, können Sie die Datei einfach aus dem Backup-Verzeichnis kopieren. Wenn Sie eine Version von vor 2 Tagen haben möchten:rdiff-backup -r 2D /backup/etc/named.conf /etc/named.confEinfach und sehr effektiv.