Empfohlene verwandte MySQL-Video-Tutorials: „MySQL-Tutorial “
/usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql
3 in der Shell Generieren Sie das aktuelle Datum in einem Format wie 2015-11-05, sodass der bei erfolgreichem Export generierte Dateiname db_2015-11-05.sql lautet. 5. Laden Sie die generierte SQL-Datei herunter und öffnen Sie sie mit a Texteditor zur Überprüfung und lokal zum Testen der Datenbank importieren, um festzustellen, ob es Probleme gibt;
3. Organisieren und schreiben Sie flexiblere Shell-Skripte für eine einfache Wiederverwendung eine Datei oder laden Sie sie nach /usr/local/apache/htdocs/timepusher/sqlBak/sqlAutoBak.sh hoch
4. Testen Sie das Shell-Skript
#!/bin/sh# Database infoDB_USER="batsing"DB_PASS="batsingpw"DB_HOST="localhost"DB_NAME="timepusher"# Others varsBIN_DIR="/usr/bin" #the mysql bin pathBCK_DIR="/mnt/mysqlBackup" #the backup file directoryDATE=`date +%F` # TODO# /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql#还原数据库#用mysql-front导入前一天的 *.sql 文件即可恢复数据
Dies ist verursacht durch unterschiedliche Systemkodierungsformate: In Windows-Systemen bearbeitete .sh-Dateien können unsichtbare Zeichen sein, daher wird die obige Ausnahmemeldung gemeldet, wenn sie unter Linux-Systemen ausgeführt wird. Sie können Notepad++ unter Windows verwenden, um in das Unix-Format zu konvertieren (wählen Sie im Menü: Bearbeiten > Dateiformatkonvertierung > In UNIX konvertieren)
3. Nach der Änderung laden Sie ./sqlAutoBak.sh hoch und führen die Ausführung fort. Es wird kein Fehler gemeldet. Überprüfen Sie die exportierte SQL-Datei erneut. 5. MySQL-Sicherungsdaten komprimieren
1. Überprüfen Sie die exportierte SQL-Datei und stellen Sie fest, dass ihre Dateigröße auch Parametereinstellungen zum Generieren von gzip-komprimierten Dateien bietet. sqlAutoBak.sh wird wie folgt geändert
/bin/sh^M: bad interpreter: No such file or directory
3. Laden Sie nach der Änderung die Ausführung hoch und fahren Sie mit der Ausführung fort./sqlAutoBak.sh wird kein Fehler gemeldet. Wenn Sie einen Texteditor verwenden, um die exportierte *.sql.gz-Datei anzuzeigen, sollte sie aus einer Reihe verstümmelter Zeichen bestehen.
4. Laden Sie es lokal herunter und öffnen Sie es mit einer Dekomprimierungssoftware. Nach der Dekomprimierung können Sie die echte *.sql-Datei darin sehen.
#!/bin/sh# Database infoDB_USER="batsing"DB_PASS="batsingpw"DB_HOST="localhost"DB_NAME="timepusher"# Others varsBIN_DIR="/usr/bin" #the mysql bin pathBCK_DIR="/mnt/mysqlBackup" #the backup file directoryDATE=`date +%F` # TODO# /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql# $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME | gzip > $BCK_DIR/db_$DATE.sql.gz# 还原数据库# 把 *.sql.gz 使用gunzip 或 本地的解压软件 解压为 *.sql 文件# 用mysql-front导入前一天的 *.sql 文件即可恢复数据
Bearbeiten Sie die geplante Aufgabenliste 🎜>2 , fügen Sie die folgende Zeile ein, da die Website normalerweise um 5 Uhr den geringsten Verkehr hat.
3. Überprüfen Sie, ob die Aufgabe erfolgreich erstellt wurde
crontab -e
00 05 * * * /bin/sh /usr/local/apache/htdocs/timepusher/sqlBak/sqlAutoBak.sh#每天早上 5:00am 执行
crontab -l
Skriptcode für die automatische Sicherung der MySQL-Datenbank unter Linux_MySQL
Verwenden Sie die Shell, um die MySQL-Datenbank regelmäßig automatisch zu sichern_MySQL
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME --skip-lock-tables| gzip > $BCK_DIR/db_$DATE.sql.gz
Das obige ist der detaillierte Inhalt vonBeispiel dafür, wie Shell jeden Tag automatisch eine MySQL-Datenbank sichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!