Heim > Artikel > Betrieb und Instandhaltung > Linux MySQL führt regelmäßig Backups und Uploads in das Git-Repository durch
Einführung
Wenn wir unsere kleinen und mittleren Projekte bereitstellen, wählen wir normalerweise MySQL als unser Speichertool für die Datenspeicherung. Also für ein großes Projekt, jeden Tag Wenn unsere Website oder unser Server eines Tages angegriffen wird, ist der Datenverlust sehr groß. Daher ist es selbstverständlich, eine Sicherung der Datenbank zu erstellen. Was ist also zu tun? Wir möchten die gesicherten Datendateien im Serververzeichnis speichern. Der Sicherungszyklus richtet sich dabei normalerweise nach der Datensicherung im Verzeichnis unseres Servers, aber wenn der Server eines Tages abstürzt, sind die gesicherten Dateien verschwunden. Daher stellen wir uns vor, dass eine gute Lösung darin besteht, die Datenbank jeden Tag zu sichern und jede Sicherung automatisch an das Remote-Warehouse zu senden Code-Cloud als Beispiel.
Empfohlenes Lernen: „
Linux-Tutorial“
Code-CloudErstellen Sie zunächst ein Remote-Warehouse
, um ein neues privates Warehouse zu erstellen. Natürlich kann der SSH-Schlüssel auf dem Server generiert werden
Erstellen Sie ein neues Backup auf dem Server
Um die gesicherten Dateien auf dem Server zu speichern, erstellen Sie ein neues Backup-Verzeichnis
$ mkdir /bak
Nachdem Sie das Verzeichnis eingegeben haben, erstellen Sie weiterhin zwei Ordner, mysqlBak und shDir, einer für Skriptdateien. Einer dient zum Ablegen der spezifischen Sicherungsdateien.
Jetzt können wir ein neues Skript erstellen. Nachdem Sie das shDir-Verzeichnis eingegeben haben, führen Sie
$ vim mysqlBak.sh
Das spezifische aus Der Code lautet wie folgt:
rrreeDies ist nur ein einfaches Skript für diejenigen, die sich mit Linux auskennen. Es erstellt ein Backup der Datenbank und überträgt sie in das Remote-Warehouse 🎜>
Da es sich also um ein Skript handelt, müssen wir angeben, wann dieses Skript ausgeführt werden soll, und die Ausführung des Skripts angeben.#!bin/sh ################### 数据库配置信息 ####################### createAt=`date +%Y-%m-%d-%H:%M:%S` user=root passwd=ghc1996 dbname=ispace mysql_back_path=/bak/mysqlBak ################### 执行命令 ####################### mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$createAt.sql cd /bak/mysqlBak /usr/local/git/bin/git add . /usr/local/git/bin/git commit -m $createAt /usr/local/git/bin/git pushWir hoffen, jeden frühen Morgen ein Backup durchführen und hinzufügen zu können Fügen Sie es in das Remote-Warehouse ein und fügen Sie dann
$ crontab -eDie in der Linux-Crontab angegebene Zeit besteht nur aus fünf Teilen hinzu
Verwenden Sie den Befehl crontab -e und bearbeiten Sie die Timing-Skript direkt aufrufen. Zeit + spezifischer Name
Zum Beispiel:$ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.shIn diesem Fall ist es meine Zeit um 0,,3,7,9,12,15,18,21,23 Uhr Jeden Tag wird diese Skriptdatei ausgeführt, dann wird die grundlegende Datenbanksicherung realisiertFühren Sie die geplante Aufgabe aus:
0 0,3,7,9,12,15,18,21,23 * * * /bin/sh /bak/shell/mysqlBak.shWenn der Dienst nicht startet, starten Sie die geplante Aufgabe neu
$ crontab -lDiese geplante Aufgabe wurde nun gestartet. Die Voraussetzung für die Übermittlung von Remote-Warehouses besteht darin, einen SSH-Schlüssel auf dem Server zu generieren und ihn zur Code-Cloud hinzuzufügen. Dies wird auch oben erwähnt Verzeichnis für das Verzeichnis, in das Dateien übermittelt werden müssen, damit die Runde die von uns benötigten Aufgaben darstellen kann. Natürlich können während des Vorgangs einige Probleme auftreten, die ich im aufgeführt habe Relevante Links unten. Auf diese Weise können wir unsere Datenbank am frühen Morgen eines jeden Tages sichern und sie gleichzeitig an das Remote-Warehouse unserer Code-Cloud senden .Ich habe auch gesagt, dass der Backup-Zyklus von der Größe des Datenvolumens unseres Projekts abhängt Was ich hier schreibe, ist ein allgemeiner Von uns selbst implementierter Backup-Mechanismus
Das obige ist der detaillierte Inhalt vonLinux MySQL führt regelmäßig Backups und Uploads in das Git-Repository durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!