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
Inhaltsverzeichnis Vorwort 1. Erstellen Sie Objek...
HTML besteht aus zwei Teilen: Kopf und Text ** Da...
Dieser Artikel beschreibt anhand eines Beispiels,...
Code kopieren Der Code lautet wie folgt: <!--d...
Tomcat unter Linux starten und herunterfahren Sta...
1. Einführung in Middleware 1. Grundlegende Konze...
1 Einleitung Im Artikel „PostgreSQL mit Docker st...
1. Was ist Docker? Jeder kennt virtuelle Maschine...
1. MySQL-Anmeldeeinstellungen ändern: # vim /etc/...
In diesem Artikelbeispiel wird der spezifische Co...
Einführung <br />Nicht jeder hat Zugang zu e...
Was ist LNMP: Linux+Nginx+Mysql+(php-fpm,php-mysq...
Vorwort Die sogenannte Fuzzy-Abfrage dient dazu, ...
Lösung für das Problem, dass in Linux kein Entpac...
SMIL fügt Unterstützung für Timing und Mediensync...