einführen Wenn Sie einen OSS-Speicherdienst wie Alibaba Cloud verwenden, können Sie die vom Dienst bereitgestellte geplante Sicherung verwenden, sodass Sie sich nicht um die Sicherung von Dateien auf dem Server kümmern müssen. Tatsächlich ist es sehr einfach, eine grundlegende Sicherung durchzuführen. Normalerweise verwenden wir Befehle wie tar und unzip, um Dateien zu packen, schreiben auf dieser Grundlage ein Shell-Skript und verwenden die Crontab-Funktion von Linux, um ein zeitgesteuertes Ausführungsprogramm hinzuzufügen, sodass die Dateisicherung problemlos durchgeführt werden kann. Aber wird dieser Ansatz funktionieren, wenn die Dateigröße weiter zunimmt? Die Antwort ist eindeutig nein. Mit zunehmender Dateigröße steigt auch der belegte Speicherplatz. Das Komprimieren dieser einfachen Sicherungsmethode dauert zu lange und belegt zu viel Speicherplatz. Wie lässt sich dieses Problem also lösen? Durch inkrementelles Backup können wir die Zeit- und Platzprobleme vermeiden, die durch das jedesmalige Sichern und Komprimieren aller Dateien entstehen. Nachfolgend wird die Implementierungsmethode beschrieben (Linux-Systemumgebung) Bevor Sie das Skript schreiben, müssen Sie prüfen, ob auf dem Server eine Crontab-Funktion vorhanden ist.
Verwenden Sie den Befehl rpm -qa|grep crontab, um zu überprüfen, ob crontab installiert ist. Das Bild oben zeigt, dass es installiert wurde. Wenn es nicht installiert ist, installieren Sie es mit dem Befehl yum yum -y installiere vixie-cron yum -y crontabs installieren
Wenn es sich um eine Intranetumgebung handelt, können Sie das Offlineinstallationspaket finden, wenn Sie es offline installieren müssen. 1. Start: systemctl start crond.service 2. Überprüfen Sie den Status: systemctl status crond.service Wie in der Abbildung oben gezeigt, läuft crontab bereits Die folgenden Befehle werden häufig verwendet systemctl start crond.service //Befehl startensystemctl status crond.service //Status prüfensystemctl stop crond.service //Befehl herunterfahrensystemctl restart crond.service //Neu startensystemctl enable crond.service //Starten und ausführen Manche Leute benutzen den Befehl systemctl nicht, deshalb hier die üblichen Servicebefehle service crond start //Dienst starten service crond stop //Dienst beenden service crond restart //Dienst neu starten service crond reload //Konfiguration neu laden service crond status //Status des Crontab-Dienstes prüfen Erstellen einer Skriptdatei
Skriptbefehl schreiben (Hinweis: Dieses Skript wurde im Internet gefunden und die Originalquelle wurde nicht gefunden) #!/bin/bash #Gute Praxis#Benennen Sie das Skript entsprechend dem Projekt um. #Zum Beispiel amountebak.sh oder pandawillsbak.sh #Dieses Skript wird am besten im absoluten Pfadteil platziert, der durch $bakpp definiert ist. #Sie finden die entsprechende Sicherungsdatei unter $bakpp. #Beispielsweise /usr/backup/amountebak.sh oder /usr/backup/pandawillsbak.sh ########### Init-Pfad ######### # Die Parameter, die in den folgenden Parametern definiert werden müssen, sind $bakpp, $project, $projectpp TAR=/bin/tar # Der Ort zum Speichern der Sicherungsdateien, unterschieden durch den Projektnamen bakpp=/data/file_backup/"$project" # Der zu sichernde Ordner, der Ordnerpfad project=file projectpp=/Daten/ # Parameter für Variable ym=`Datum +%Y%m` ymd=`Datum +%Y%m%d` # Das Unterverzeichnis zum Speichern von Sicherungsdateien ist nach Monaten unterteilt. Das übergeordnete Verzeichnis ist monthbakpp=$bakpp/$ym, definiert durch $bakpp gidpp=$Monatsbericht gidshot=gid$Projekt$ym # Vollständiger Name der Sicherungsdatei fullname=$ym #Inkrementeller Sicherungsdateiname incrementalname=$ymd # Notieren Sie den Speicherort des Protokolls log=$bakpp/$project.log ############### chk_full ########################## # prüfen, ob ein Vollbackup vorhanden ist, wenn nicht, es erstellen. #diese Funktion prüft, ob die Vollbackup-Datei vorhanden ist oder nicht, wenn nicht, dann jetzt ein Vollbackup erstellen. chk_full() { wenn [ -e "$monthbakpp"/"$project"_"$ym"_full.tar.gz ];dann echo ""$project"_"$ym"_full.tar.gz-Datei vorhanden!! ====`date +%Y-%m-%d-%T` " >>$log anders tar_voll fi } ########## chk_incremental ######### # Prüfen, ob inkrementelles Backup vorhanden ist chk_incremental() { während [ -e "$monthbakpp"/"$project"_"$incrementalname"_incremental.tar.gz ] Tun inkrementellername=`echo "$inkrementellername + 0,1" | bc ` Erledigt } ######## tar_inkrementell ####### # Führen Sie ein inkrementelles Backup durch tar_incremental() { cd $projektpp echo "BEIGIN_TIME=====`Datum +%Y-%m-%d-%T` ==== ERSTELLEN "$project"_"$incrementalname"_incremental.tar.gz" >> $log Schlaf 3 $TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$incrementalname"_incremental.tar.gz $project echo "END_TIME========`Datum +%Y-%m-%d-%T` ==== ERSTELLEN "$project"_"$incrementalname"_incremental.tar.gz" >> $log } ######### tar_voll ############ tar_full() { berühren $gidpp/$gidshot cd $projektpp echo "BEIGIN_TIME=====`Datum +%Y-%m-%d-%T` ==== ERSTELLEN "$project"_"$fullname"_full.tar.gz" >> $log $TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$fullname"_full.tar.gz $project echo "END_TIME========`Datum +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $log } ############ Sicherung ################################# # Gesamtaufruf für Backup, zu diesem Zeitpunkt werden entsprechende Prüfungen durchgeführt, um sicherzustellen, dass die Backup-Voraussetzungen vollständig vorbereitet sind backup() { wenn [ -d $monthbakpp ]; dann chk_full chk_incremental tar_incremental anders mkdir -p $bakpp/$ym tar_voll fi } ############ fangen wir an ############## # Prüfen Sie zunächst, ob $bakpp vorhanden ist. Wenn nicht, erstellen Sie es und sichern Sie es anschließend, wenn [ -d $bakpp ]; dann Sicherung anders mkdir -p $bakpp Sicherung fi #Hinweis: Sie können eine Datei zum Ablegen der Sicherungsdatei erstellen, z. B. /usr/cctcc #crontab #mini Stunden Tag Monat Woche Befehl # */5 * * * * /home/mmroot/zbb/aaa.sh # 0 1 */1 * * /home/mmroot/zbb/aaa.sh # tar -ztf test.tar.gz Zeigen Sie die Dateien in der Sicherungsdatei an Verwenden Sie den Befehl wq!, um die Datei zu speichern Zu dieser Skriptdatei sind drei Dinge zu beachten: #Der Ort, an dem die Sicherungsdateien gespeichert werden, unterschieden nach Projektnamen #Der zu sichernde Ordner, der Pfad des Ordners Die drei oben genannten Pfade sollten entsprechend Ihrer spezifischen Situation geändert werden Geplante Aufgabe hinzufügen: Geben Sie den Befehl ein
Aufgabenbeispiel
Verwenden Sie dann crontab -l, um es anzuzeigen.
OK, das war’s zum Thema geplante und inkrementelle Sicherung. Beachten Sie hierbei: Sicherer ist es, einen anderen Server als Dateisicherungsspeicherserver zu finden. Nachdem die geplante Sicherung und die inkrementelle Sicherung auf dem lokalen Computer abgeschlossen sind, werden die Dateien auf den Dateisicherungsspeicherserver übertragen. Dadurch wird sichergestellt, dass die Backup-Funktion bei einem Festplattenschaden erhalten bleibt. Dies ist das Ende dieses Artikels über die Implementierung von geplanten Backups und inkrementellen Backups hochgeladener Dateien in Linux. Weitere relevante Inhalte zum Backup hochgeladener Dateien in Linux finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Vue implementiert die Lupenfunktion der Produktdetailseite
Vorwort Die Projektanforderung besteht darin, fes...
Beginnen wir nicht mit der Einleitung, sondern ko...
Schauen wir uns zunächst den Code an <form id=...
Vor Kurzem musste ich den Server erneut einem Str...
RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...
Sortierte Liste XML/HTML-CodeInhalt in die Zwisch...
1. Vor- und Nachteile von Indizes Vorteile: schne...
Mysql konvertiert Abfrageergebnissatz in JSON-Dat...
1. Datenbankdaten simulieren 1-1 Datenbank- und T...
Inhaltsverzeichnis Was ist ein Versprechen? Verwe...
Wie installiere ich Nginx an einem bestimmten Ort...
In diesem Artikel wird der der Java-Verbindung zu...
Inhaltsverzeichnis 1. Partikeleffekte 2. Laden Si...
Hier können Sie durch geschickten Einsatz von CSS-...
Vorwort Dieser Artikel enthält eine Anleitung zum...