Heim > Artikel > Betrieb und Instandhaltung > Einführung in ein einfaches Bash-Skript für die MySQL-Datenbanksicherung
Wie implementiert man eine MySQL-Datenbanksicherung? Es ist möglich, ein Bash-Skript für die Sicherung der MySQL-Datenbank zu verwenden. In diesem Artikel stellen wir ein einfaches Bash-Skript zum Sichern einer MySQL-Datenbank sowie zum Archivieren und Speichern des Backups auf dem lokalen System vor. Dieses Bash-Skript löscht auch alte Backups von der Festplatte, um Speicherplatz freizugeben. Sie können auch die Anzahl der Tage angeben, die Backups auf der lokalen Festplatte aufbewahrt werden sollen.
MySQL-Sicherungsskript erstellen
Kopieren Sie nun den folgenden Inhalt in die Skriptdatei (z. B. /backup/mysql backup. sh ) und auf dem Linux-System gespeichert. Ändern Sie anschließend einige Konfigurationswerte im Abschnitt „Unterhalb der Werte aktualisieren“ des Skripts entsprechend Ihrer Umgebung
#!/bin/bash ################################################################ ## ## MySQL Database Backup Script ## Written By: Rahul Kumar ## URL: https://tecadmin.net/bash-script-mysql-database-backup/ ## Last Update: Jan 05, 2019 ## ################################################################ export PATH=/bin:/usr/bin:/usr/local/bin TODAY=`date +"%d%b%Y"` ################################################################ ################## Update below values ######################## DB_BACKUP_PATH='/backup/dbbackup' MYSQL_HOST='localhost' MYSQL_PORT='3306' MYSQL_USER='root' MYSQL_PASSWORD='mysecret' DATABASE_NAME='mydb' BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ################################################################# mkdir -p ${DB_BACKUP_PATH}/${TODAY} echo "Backup started for database - ${DATABASE_NAME}" mysqldump -h ${MYSQL_HOST} \ -P ${MYSQL_PORT} \ -u ${MYSQL_USER} \ -p${MYSQL_PASSWORD} \ ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz if [ $? -eq 0 ]; then echo "Database backup successfully completed" else echo "Error found during backup" fi ##### Remove backups older than {BACKUP_RETAIN_DAYS} days ##### DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"` if [ ! -z ${DB_BACKUP_PATH} ]; then cd ${DB_BACKUP_PATH} if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then rm -rf ${DBDELDATE} fi fi ### End of script ####
Stellen Sie nach dem Erstellen oder Herunterladen des Skripts sicher, dass Sie die Ausführungsberechtigungen festlegen, damit es ordnungsgemäß ausgeführt wird.
$ chmod + x /backup/mysql-backup.sh
Planen Sie das Skript in Crontab
Planen Sie nun das Skript in Crontab so, dass es jeden Tag ausgeführt wird und die Sicherung regelmäßig durchführt. Verwenden Sie den Befehl crontab -e, um crontab auf Ihrem System zu bearbeiten. Fügen Sie die folgende Einstellung hinzu, um die Sicherung um 2 Uhr morgens zu aktivieren.
Planen des Skripts in Crontab
Planen Sie nun das Skript in Crontab so, dass es jeden Tag ausgeführt wird und die Sicherung regelmäßig durchführt. Verwenden Sie den Befehl crontab -e, um crontab auf Ihrem System zu bearbeiten. Fügen Sie die folgende Einstellung hinzu, um die Sicherung um 2 Uhr morgens zu aktivieren.
0 2 * * * root /backup/mysql-backup.sh
Speichern Sie Ihre Crontab-Datei. Wenn Cron aktiviert ist, führt das Skript automatisch Backups durch. Überprüfen Sie jedoch wöchentlich oder monatlich, ob ein Backup erstellt wurde.
Dieser Artikel ist hier zu Ende. Weitere spannende Inhalte finden Sie in der Spalte Linux-Video-Tutorial auf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonEinführung in ein einfaches Bash-Skript für die MySQL-Datenbanksicherung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!