2016-07-07 1 views
1

Im Hosting eines Web-Systems auf einer Ubuntu-Instanz in AWS. Es ist sehr wichtig, dass die Datenbank häufig gesichert wird. Ich habe mir automatisierte Snapshots von Instanzen angesehen, aber diese Lösung ist aus zwei Gründen nicht wünschenswert: Ihr Overkill zum Sichern der gesamten Instanz und alle Anleitungen, die ich gesehen habe, empfehlen nur eine einzige Sicherung pro Tag.Mit Cron Job + Git automatisch Live-Datenbank sichern

Ich denke darüber nach, ein kleines Shell-Skript zu schreiben, das regelmäßig Änderungen in der MySQL-Datenbank festschreibt und zu einem Remote-Repo verschiebt. Das Skript sollte von einem Cron-Job aktiviert werden.

Meine Frage ist: Wird dieser Ansatz funktionieren? Ich habe diese Lösung nirgends vorgeschlagen, daher vermute ich, dass mir hier etwas fehlt. Die Datenbank wird niemals größer als 50 MB sein.

Dank

Antwort

2

Ja, es funktioniert - ich etwas ähnliches für ein Haustier Projekt von mir verwendet haben. Sogar die Ausgabe von mysqldump ist ziemlich git-freundlich, Sie können diffs nett etc. sehen.

Es ist nicht sehr üblich, git für Backups zu verwenden, was wahrscheinlich der Grund ist, warum Sie es nirgends vorgeschlagen haben. Es gibt Lösungen, die ausschließlich für Backups gedacht sind, die git vorzuziehen sind.

+0

Meine Sorge ist, wenn Änderungen an der Datenbank vorgenommen werden, während der "git commit" ausgeführt wird, dann wird die Festschreibung wahrscheinlich beschädigt sein. Wie groß war die Datenbank und wie viel Traffic hatten Sie? In meiner Sitation ist der Traffic ziemlich niedrig (<1000 Hits pro Tag) und die Größe der Datenbank ist auch am unteren Ende. – Vingtoft

+1

Es ist eine sehr verkehrsschwache Website, unter 100 Treffern pro Tag. In meinem Setup führe ich 'mysqldump > database.sql' aus und füge dann die resultierende SQL-Datei in git hinzu. mysqldump wird nicht fehlschlagen, auch wenn gleichzeitig Datenverkehr stattfindet. – 1615903

+0

Einverstanden, es kann getan werden. Laut http://dba.stackexchange.com/questions/19532/safest-way-to-perform-mysqldump-on-a-live-system-with-active-reads-and-writes ist es sicher, einen SQL-Dump zu generieren auf einem System mit aktiven Lese- und Schreibvorgängen. Danke – Vingtoft