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!