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
In MySQL werden viele Typen von Auto-Increment-ID...
Vor Kurzem musste ich einen kaskadierenden Auswah...
Vor ein paar Tagen habe ich einen von Yu Bo getei...
In relationalen Datenbanken sind pessimistisches ...
In diesem Artikel finden Sie das Installations-Tu...
Lösung für MySQLSyntaxErrorException beim Herstel...
Einführung in die MySQL CURDATE-Funktion Bei Verw...
1. Einführung in mysqlbackup mysqlbackup ist die ...
Vor kurzem hat das Unternehmen zufällig Live-Über...
Inhaltsverzeichnis 1. Vom Vater zum Sohn 2. Vom S...
Kürzlich stellte mir ein Freund eine Frage: Beim ...
Inhaltsverzeichnis Vorwort Hintergrund Umsetzungs...
Inhaltsverzeichnis 1. Planaufgaben anpassen 2. Ze...
Detailliertes Download-, Installations- und Konfi...
In diesem Artikel wird der spezifische JavaScript...