Wie kann ich mit Rsync ein Skript für eine Remote-Sicherung erstellen?

Procédure

Wozu dient Rsync?

Mit Rsync können Sie Dateien über die Befehlszeile synchronisieren, sodass Sie Dateien von einem Ort zum anderen sichern können, indem Sie sie quellenspezifisch synchronisieren.

Mit dem folgenden Skript können Sie eine vollständige Sicherung pro Monat und eine partielle Sicherung einmal pro Woche durchführen.

Wie erstelle ich ein Skript für eine Remote-Sicherung mit Rsync?

Das folgende Skript ermöglicht es Ihnen, ein Remote-Backup-Skript mit Rysnc einzurichten. Das Skript wird das Vorhandensein des Quellordners testen, die Erreichbarkeit des Servers prüfen und jeden Monat einen neuen Ordner erstellen, in den es eine Vollsicherung einfügt.

#!/bin/sh Monat=`Datum +%B` Tag=`Datum +%d-%m-%Y` Stunde=`Datum +%T` log="/home/user/logs_Sicherungen" local="/user/ordner" distant="/files/sicherungen_$Monat/" hostssh="ip_server" userssh="Kennung" Zähler=5 retention=`Datum +%B --date='1 month ago'` nom() { echo "-------------------------------------------------------------"" > $log/sicherung_$tag.log echo -e "Sicherung von $local von $(Datum +%d-%B-%Y)" >> $log/sicherung_$tag.log echo "-------------------------------------------------------------" >> $log/sicherung_$tag.log }# Wenn das Verzeichnis mit den Logs nicht existiert, wird dieses erstellt.if [! -d $log ];then mkdir $log fi# Wir testen, ob das Quellverzeichnis vorhanden ist UND ob der Server auf den Pingrecus=$(ping -c $counter $hostssh | grep 'received' | awk -F',' '{ print $2 }' | awk '{print $1 }') reagiert. > /dev/null 2>&1 if [[ ! -d $local ]] && [[ $recus -eq 0 ]];then
nom
echo -e "$jour-$heure :\n" >> $log/sauvegarde_$jour.log
echo -e "$local n'existe plus ou est inaccessible.\n\nServeur inaccessible ($hostssh : $compteur paquets transmis, $recus paquets reçus).\n\nAucune
sauvegarde effectuée." >> $log/sicherung_$tag.log exit# Wir testen nur, ob der Quellordner vorhandenist elif [ ! -d $local ];then nom echo -e "$Tag-$Stunde: $local existiert nicht mehr oder ist unzugänglich.nnKeine Sicherung durchgeführt." >> $log/sicherung_$tag.log exit# Wir testen nur den Ping des Serverselif [ $recus -eq 0 ];then name echo -e "$Tag-$Stunde: Server nicht erreichbar ($hostssh: $zählt gesendete Pakete, $recus empfangene Pakete).\n'n't backup done." >> $log/Sicherung_$Tag.log exit fi echo "-------------------------------------------------------------". > $log/sicherung_$tag.log echo "Backup von $local von $(Datum +%d-%B-%Y)" >> $log/sicherung_$tag.log echo "-------------------------------------------------------------". >> $log/sicherungskopie_$tag.log # Startzeit der Übertragung im Protokoll echo "Startzeit der Sicherung: $(Datum +%T)" >> $log/sicherungskopie_$tag.log echo "-------------------------------------------------------------"" >> $log/sicherung_$tag.log# Dateiübertragungrsync -avz --stats --protect-args --delete-after -e ssh $local $userssh@$hostssh:$distant >> $log/sicherung_$tag.log # -a: Archivierungsmodus ( entspricht -rlptgoD ). # -z: Datenkomprimierung während der Übertragung.
# -e: um die Verwendung von ssh anzugeben # -- stats: gibt Informationen über die Übertragung (Anzahl der Dateien...) # --protect -args: Wenn Sie einen Dateinamen übertragen müssen, der Leerzeichen enthält , können Sie dies mit dieser Option angeben. # --delete-after: löscht Dateien, die nicht mehr in der Quelle existieren, nachdem sie in den Zielordner übertragen wurden.
status=$? echo "" >> $log/Sicherung_$Tag.log# rsync return codescase $status in 0) echo Erfolg >> $log/Sicherung_$Tag.log;; 1) echo Syntax- oder Anwendungsfehler >> $log/Sicherung_$Tag.log;; 2) echo Protokollinkompatibilität >> $log/Sicherung_$Tag.log;; 3) echo Fehler bei der Auswahl von Dateien und Ein-/Ausgabeverzeichnissen >> $log/sicherung_$tag.log;; 4) echo Nicht unterstützte Aktion: ein Versuch, 64-Bit-Dateien auf einer Plattform zu manipulieren, die diese nicht unterstützt; oder eine Option, die vom Client, aber nicht vom Server unterstützt wird. >> $log/sauvegarde_$jour.log;;; 5) echo Fehler beim Starten des Client-Server-Protokolls >> $log/sauvegarde_$jour.log;; 6) echo Dämon kann nicht in die Logdatei schreiben >> $log/sauvegarde_$jour.log;; 10) echo Fehler in der Socket-I/O >> $log/sauvegarde_$jour.log;; 11) echo Fehler bei der Datei-I/O >> $log/sauvegarde_$jour.log;; 12) echo Fehler im Datenstrom des Rsync-Protokolls >> $log/sicherung_$Tag.log;; 13) echo Fehler bei der Programmdiagnose >> $log/sicherung_$Tag.log;;; 14) echo Fehler im IPC-Code>> $log/sauvegarde_$jour.log;; 20) echo SIGUSR1 oder SIGINT empfangen >> $log/sauvegarde_$jour.log;; 21) echo "Ein Fehler, der von waitpid() zurückgegeben wurde" >> $log/sauvegarde_$jour.log;;; 22) echo Fehler beim Zuweisen der Hauptspeicherpuffer >> $log/sicherungskopie_$Tag.log;; 23) echo Teilweise Übertragung aufgrund eines Fehlers >> $log/sicherungskopie_$Tag.log;; 24) echo Teilweise Übertragung aufgrund einer verschwundenen Quelldatei >> $log/sicherungskopie_$Tag.log;; 25) echo Das --max-delete-Limit wurde erreicht >> $log/sicherungskopie_$Tag.log;;; 30) echo Maximale Wartezeit beim Senden/Empfangen von Daten überschritten >> $log/sicherungskopie_$Tag.log;; 35) echo Wartezeit beim Warten auf eine Verbindung überschritten >> $log/sicherungskopie_$Tag.log;; 255) echo Unerklärlicher Fehler >> $log/sicherungskopie_$Tag.log;; esac echo "-------------------------------------------------------------". >> $log/sicherungskopie_$tag.log# Endzeit im Protokollecho "Endzeit der Sicherung: $(Datum +%T)" >> $log/sicherungskopie_$tag.log echo "-------------------------------------------------------------" >> $log/sicherung_$tag.log# Wir löschen die Backups entsprechend der Retention.ssh $userssh@$hostssh rm -rf "backups_$retention" exit.

Quelle: GitHub tuxmika

Schlussfolgerung

Sie sind nun in der Lage, ein Skript für ein entferntes Backup mit Rsync zu erstellen, um Dateien und Ordner auf Ihren Online-Backupbereich mit LWS zu übertragen. Sie können Ihr Skript über einen Cronjob starten, so dass es einmal pro Woche startet.

Zögern Sie nicht, Ihre Fragen und Anmerkungen zu teilen!

Diesen Artikel bewerten :

4,8/5 | 5 Hinweis

Dieser Artikel war hilfreich für Sie ?

Article utileJa

Article non utileNicht

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Ähnliche Artikel

2mn von Lesen

Wie füge ich einen RSA-Schlüssel zum SCP drive Rsync-Dienst hinzu?

1mn von Lesen

Wie verwende ich Rsync, um eine Ispconfig-Website zu sichern?

0mn von Lesen

Wie kann man mit LWS Drive eine Sicherungskopie seiner Website erstellen?

4mn von Lesen

Dienstprogramm backup2l Wiederherstellung


Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft