1. Aufgetretene ProblemeWir alle wissen, dass wir nach der Verwendung von mysqldump das MySQL-Passwort manuell eingeben müssen, sodass wir mysqldump nicht direkt in crontab verwenden können, um eine regelmäßige Sicherung durchzuführen. Tatsächlich können wir das Skript expect zur automatischen Eingabe des Kennworts verwenden und so eine wirklich regelmäßige Sicherung durchführen. Wenn Sie nicht wissen, was expect ist, empfehle ich Ihnen, zuerst diesen Artikel zu lesen: https://www.jb51.net/article/197865.htm 2. Ideen
Die Idee ist folgende: 3. Code3.1. Kaltes Backup einer einzelnen Maschine (1) mysqldump-Shell-Skript #!/bin/bash mysql_benutzername=$1 Backup-Datenbanken = $2 Backup-Pfad = $3 mysqldump -u ${mysql_username} -p --databases ${backup_databases} > ${backup_path} (2) Die Ausführung des expect-Skripts von mysqldump kann uns helfen, den MySQL-Code automatisch einzugeben #!/usr/bin/expect Zeitüberschreitung 5 festlegen #Lokale Informationen festlegen mysql_username [lindex $argv 0] setze Backup_Database [lindex $argv 1] setze Backup-Pfad [lindex $argv 2] #utils-Pfad festlegen utils_path /home/hadoop/backup_script/utils Erzeuge Bash ${utils_path}/backup.sh ${mysql_username} ${backup_database} ${backup_path} erwarten { "*assword*" {send "nimabidecao1\r"} #Passwort eingeben} Erwarte EOF (3) Führen Sie das Skript aus und führen Sie expect aus. Dort können Sie die erforderlichen Parameter übergeben. #!/bin/bash #Die Daten hier können als mysql_username=root geschrieben werden Backup_Databases=Schule Backup-Pfad = $HOME/Backup-Daten/${Backup-Datenbanken}.sql #Führen Sie das Expect-Skript aus expect $HOME/backup_script/single_cold_backup/single_cold_backup_service.exp ${mysql_username} ${backup_databases} ${backup_path} Sie müssen hier genau auf Ihren Pfad achten. Es wird dringend empfohlen, einen absoluten Pfad zur Ausführung zu verwenden (4) Verwenden Sie crontab, um das Treiberskript regelmäßig auszuführen, und rufen Sie den Crontab-Editor auf: 0 9 * * 1 bash /home/hadoop/backup_script/single_cold_backup/single_cold_backup_driver.sh Das bedeutet: Führe jeden Montag um 9:00 Uhr ein Backup durch. Wenn du die gewünschte Uhrzeit bestätigen möchtest, kannst du auf diese Website gehen: https://crontab-generator.org/ und die gewünschte Uhrzeit auswählen.
(1) Remote-Dateien kopieren, um die MySQL-Sicherungsdateien auf den lokalen Computer zu kopieren #!/bin/bash lokaler_Sicherungspfad=$1 ein anderer_Benutzer=$2 eine andere_IP=$3 ein anderer_Sicherungspfad=$4 scp ${local_backup_path} ${ein anderer_Benutzer}@${eine andere_IP}:${ein anderer_backup_path} (2) Die Ausführung des expect-Skripts von mysqldump kann uns helfen, den MySQL-Code automatisch einzugeben #!/usr/bin/expect Zeitüberschreitung 5 festlegen #Host-Informationen setzen mysql_username [lindex $argv 0] setze Backup_Database [lindex $argv 1] setze Backup-Pfad [lindex $argv 2] #Slave-Informationssatz slave_user [lindex $argv 3] setze Slave-IP [lindex $argv 4] setze slave_backup_path [lindex $argv 5] #utils-Pfad festlegen utils_path /home/hadoop/backup_script/utils Erzeuge Bash ${utils_path}/backup.sh ${mysql_username} ${backup_database} ${backup_path} erwarten { "*assword*" {send "nimabidecao1\r"} #Passwort eingeben} Bash erzeugen ${utils_path}/scp.sh ${backup_path} ${slave_user} ${slave_ip} ${slave_backup_path} erwarten { "*assword*" {send "nimabidecao1\r"} #Passwort eingeben} Erwarte EOF (3) Führen Sie das Skript aus und führen Sie expect aus. Dort können Sie die erforderlichen Parameter übergeben. #!/bin/bash #Lokale Computerinformationen mysql_username=root Backup_Databases=Schule Backup-Pfad = $HOME/Backup-Daten/${Backup-Datenbanken}.sql #Slave-Informationen slave_user=meizhaowei slave_ip=172.20.10.14 slave_backup_path=Sicherungsdaten/doule_cold_backup_data/${Backup_Databases}.sql #Ausführen, absoluten Pfad schreiben, voraussichtlich $HOME/backup_script/double_cold_backup/double_cold_backup_service.exp ${mysql_username} ${backup_databases} ${backup_path} ${slave_user} ${slave_ip} ${slave_backup_path} (4) Verwenden Sie crontab, um das Treiberskript regelmäßig auszuführen 0 9 * * 1 bash /home/hadoop/backup_script/double_cold_backup/double_cold_backup_driver.sh Das heißt: Führen Sie jede Woche um 9 Uhr ein Backup durch Dies ist das Ende dieses Artikels über die Verwendung von mysqldump+expect+crontab in Linux zur Implementierung eines regelmäßigen MySQL-Kaltbackups. Weitere Informationen zum regelmäßigen MySQL-Kaltbackup finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte
>>: Detaillierte Erläuterung der Verwendung von Docker Commit
Dieser Artikel stellt hauptsächlich die Lösung fü...
In diesem Artikelbeispiel wird der spezifische Co...
1. Überprüfen Sie, ob das Modul „Status prüfen“ i...
Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...
Jeder qualifizierte Linux-Betriebs- und Wartungsm...
Inhaltsverzeichnis 1. Flink-Übersicht 1.1 Grundle...
Vorwort Für Datei- oder Verzeichnisberechtigungen...
In Webprojekten nutzen wir häufig die Zeitleisten...
Vorwort: Bei Vorstellungsgesprächen für verschied...
Die Antwort, die Sie oft hören, ist, dass die Ver...
Nginx hat in nur wenigen Jahren den Großteil des ...
Wir alle Webmaster wissen, dass es bei der Optimi...
In diesem Artikelbeispiel wird der spezifische Ja...
In diesem Artikel wird erklärt, wie Sie MySQL aus...
1. JDK installieren 1.1 Überprüfen Sie, ob die ak...