Vorwort Obwohl manche Liebe auf dieser Welt ihren Preis hat, sind Daten unbezahlbar. Die Datensicherung ist besonders wichtig, damit Sie nicht in Eile davonlaufen müssen, wenn Sie die Datenbank eines Tages versehentlich löschen. Die in diesem Artikel vorgestellte Lösung besteht darin, die Linux-eigene Crontab-Funktion für geplante Tasks zu verwenden, um das Datenbanksicherungsskript regelmäßig auszuführen. Technische Punkte:
Datensicherungsdump Die Datenbank verfügt über einen Befehl zum Exportieren der Daten und der Struktur innerhalb der Datenbank. Dabei handelt es sich um das Backup. Durch das Wiederherstellen der gesicherten Daten wird die Tabelle mit den Originaldaten gelöscht und neu erstellt. Anschließend werden die Daten in die Sicherung eingefügt. Dies ist eine Wiederherstellung. Es ist wichtig zu beachten, dass, wenn die Datenmenge vor der Wiederherstellung größer ist als die in der Sicherung enthaltene, die zusätzlichen Daten nach der Wiederherstellung verloren gehen. Liste der Backup- und Wiederherstellungsbefehle der beiden Datenbanken, die ich häufig verwende postgresql: Backup pg_dump -h [ip] -U [Benutzername] [Datenbankname] > [exportierte .sql-Datei] Wiederherstellen psql -s [Datenbankname] -f [.sql-Datei exportieren] MySQL: Backup mysqldump -h -u [Benutzername] -p [Datenbankname] > [exportierte .sql-Datei] Restore mysql -u [Benutzername] -p [Datenbankname] < [exportierte .sql-Datei] Shell-Skript Zur Vervollständigung einer voll funktionsfähigen Backup-Lösung benötigen Sie Shell-Skripte. Wir möchten, dass dieses Skript in einem angegebenen Pfad ein Backup erstellt und in einem komprimierten Format speichert (bis zu 30 Dateien). Wenn mehr als 30 Dateien vorhanden sind, wird die älteste gelöscht und das Vorgangsprotokoll aufgezeichnet. Mehr gibt es nicht zu sagen, es steht alles im Drehbuch, also los geht’s! #Benutzername Benutzername=root # Passwort password = nicai #Die zu sichernde Datenbank database_name=l_love_you #Die maximale Anzahl der zu speichernden Sicherungsdateien beträgt count=30 #Backup-Speicherpfad backup_path=/app/mysql_backup #Datum date_time=`Datum +%Y-%m-%d-%H-%M` #Falls der Ordner nicht existiert, erstellen Sie ihn, wenn [ ! -d $backup_path ]; Dann mkdir -p $Backup-Pfad; fi #Starten Sie backupmysqldump -u $Benutzername -p$Passwort $Datenbankname > $Backup-Pfad/$Datenbankname-$Datum_Uhrzeit.sql #Komprimieren Sie die CD $backup_path tar -zcvf $Datenbankname-$Datum_Uhrzeit.tar.gz $Datenbankname-$Datum_Uhrzeit.sql #Löschen Sie die Quelldatei rm -rf $backup_path/$database_name-$date_time.sql #Sicherungsprotokoll aktualisieren echo "create $backup_path/$database_name-$date_time.tar.gz" >> $backup_path/dump.log #Suchen Sie das Backup, das gelöscht werden muss delfile=`ls -l -crt $backup_path/*.tar.gz | awk '{print $9 }' | head -1` #Beurteilen Sie, ob die aktuelle Anzahl der Backups größer als der Schwellenwert ist: number=`ls -l -crt $backup_path/*.tar.gz | awk '{print $9 }' | wc -l` wenn [ $Zahl -gt $Anzahl ] Dann #Löschen Sie das am frühesten erstellte Backup und behalten Sie nur die Anzahl der Backups rm $delfile #Aktualisieren Sie das Löschprotokoll echo "delete $delfile" >> $backup_path/dump.log fi Geben Sie dem Skript einen schönen, sinnvollen Namen, dump_mysql.sh Geben Sie dem Skript Ausführungsberechtigungen: chmod +x dump_mysql.sh. Nach der Ausführung wird das Skript grün und ist eine ausführbare Datei. Ausführungsmethode: ./ plus Skriptname
Geplante Aufgaben crontab Crontab ist eine geplante Task-Funktion, die mit Linux mitgeliefert wird. Wir können sie verwenden, um das Skript dump_mysql.sh einmal jeden Morgen auszuführen. Crontab-Verwendung:
Führen Sie Die Einzahlung ist abgeschlossen, wenn das Kapital geschützt und die Auszahlung abgeschlossen ist. Inhaltserklärung: Der erste Teil 00 01 * * * ist der Zeitraum der geplanten Aufgabe und der zweite Teil /app/dump_mysql.sh gibt an, was zum angegebenen Zeitpunkt zu tun ist. Der Zeitraumausdruck besteht aus fünf Platzhaltern, die Folgendes darstellen: Minuten, Stunden, Tage, Monate und Wochen. Der Platzhalter * steht für „jedes“. Die erste Stelle steht für „jede Minute“, die zweite Stelle für „jede Stunde“ und so weiter. Platzhalter verwenden bestimmte Zahlen, um bestimmte Zeiten darzustellen. 10 an der ersten Stelle bedeutet 10 Minuten, 10 an der dritten Stelle bedeutet die 10. und so weiter. Der Platzhalter - gibt ein Intervall an. 5-7 an erster Stelle bedeutet 5 Minuten bis 7 Minuten, an fünfter Stelle bedeutet Freitag bis Sonntag und so weiter. Der Platzhalter / gibt das Intervall an. 5-10/2 wird an der ersten Stelle verwendet, um das Intervall von 5 bis 10 Minuten anzuzeigen, und an der zweiten Stelle, um das Intervall von 5 bis 10 Uhr bis 2 Stunden anzuzeigen, und so weiter. Platzhalter verwenden , um eine Liste anzuzeigen. 5,10 an der ersten Stelle bedeutet 5 Punkte und 10 Punkte, an der vierten Stelle bedeutet Mai und Oktober und so weiter. Zusammenfassen Dies ist das Ende dieses Artikels über die MySQL-Lösung für geplante Backups. Weitere relevante Inhalte zu geplanten MySQL-Backups finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Lösung für den Absturz der Grafikkarte auf Linux-Servern
>>: Reagieren Sie auf den nativen ScrollView-Pulldown-Aktualisierungseffekt
Vorwort Ich möchte Ihnen zeigen, wie Sie ein Such...
Um die JSON-Daten in einem schönen eingerückten F...
Inhaltsverzeichnis 1. Hintergrund 2. Lokale benut...
1. Im Kreis herumlaufen Nach einigem Herumexperim...
Auf HTML-Seiten verfügen visuelle Elemente wie Sc...
Inhaltsverzeichnis 1. Herunterladen 2. Bereitstel...
Vorwort JavaScript unterscheidet sich von anderen...
Dieser Artikel soll vor allem Anfängern einige gr...
1. Befehlseinführung Der Befehl userdel (User Del...
Inhaltsverzeichnis 1. Einleitung: In diesem Fall ...
1. Inline-Stil, platziert in <body></body...
Unabhängig von der verwendeten Ubuntu-Version ist...
1 Laden Sie MySQL8 von der offiziellen Website he...
Vorwort Heute habe ich von einem Entwickler die R...
Inhaltsverzeichnis Einführung Homebrew installier...