Heim  >  Artikel  >  Datenbank  >  MySQL führt unter CentOS ein automatisches Backup durch

MySQL führt unter CentOS ein automatisches Backup durch

angryTom
angryTomnach vorne
2019-10-14 15:02:562448Durchsuche

Während der Entwicklung verwenden wir häufig SVN oder Git, um unseren Code oder projektbezogene Dateien zu verwalten. Eines haben sie jedoch alle gemeinsam: Versionskontrolle

Viele Leute werden es tun Wenn Sie fragen, warum Sie SVN oder Git verwenden sollten, werde ich fragen: Ich glaube, der Code, den Sie geschrieben haben, ist sehr gut, aber eines Tages haben Sie viele Fehler geändert, aber plötzlich dachten Sie, dass der vorherige Code einen wichtigeren Algorithmus enthält und Sie versehentlich Es ist abgedeckt, was sollten Sie jetzt tun?

Empfohlen „MySQL Video Tutorial“

Vielleicht sagen Sie mir, dass Sie die aktuell geänderten Dateien oder das aktuelle Projekt sichern können, bevor Sie diese Codes ändern.

Aber wie viele Backup-Dateien werden sich im Laufe der Zeit auf Ihrem Computer befinden?

Wenn Ihr Kollege eines Tages zum vorherigen Code zurückkehren muss, um die Ursache des damaligen Fehlers zu ermitteln, finden Sie dann die Datei zum angegebenen Zeitpunkt auf Ihrem Computer und senden sie ihm?

Natürlich nicht. Nachdem wir SVN oder Git haben, können wir die vorherigen Versionen der Dateien problemlos sehen und vergleichen. Jetzt ist die Bedeutung der Versionskontrolle klar.

Das Gleiche gilt für Datenbanken. 99 % unserer Systeme sind untrennbar mit Datenbanken verbunden, da wir immer Daten speichern müssen.

Was passiert also, wenn unsere Datenbank versehentlich gelöscht, gehackt oder in böswilliger Absicht verändert wird?

Dann können wir versuchen, unseren Server die Datenbankdaten automatisch am angegebenen Speicherort sichern zu lassen. Wenn unsere Datenbank eines Tages versehentlich wackelt, können wir auch das gesicherte Datenbankskript zur direkten Wiederherstellung verwenden.

Oberes Skript:

# db username
db_user="test"  
# db password
db_passwd="test"
# db host
db_host="121.201.5.216"
# backup db name
db_name="Alterem"  
# the directory for story your backup file.  
backup_dir="backup"  cd 
# date format for backup file (dd-mm-yyyy)  
time="$(date +"%Y-%m-%d-%H-%M-%S")"  
# mysql, mysqldump and some other bin's path  
MYSQL="/usr/local/mysql/bin/mysql"  
MYSQLDUMP="/usr/local/mysql/bin/mysqldump"  
GZIP="/bin/gzip"  
  
$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "/data/backup/$backup_dir/$db_name"_"$time.gz"

Timer erstellen

crontab -e

Timer hinzufügen

# 每天凌晨 1 点 30 分 进行数据备份
30  1  *  *  * /root/mysql-backup.sh

Timer neu starten

/etc/rc.d/init.d/crond restart

Cron-Parsing

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed复制代码

Online-Cron-Ausdrucksgenerator: http://cron.qqe2/

Das obige ist der detaillierte Inhalt vonMySQL führt unter CentOS ein automatisches Backup durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Fall bei VerwendungNächster Artikel:Fall bei Verwendung