Backup MySQL în Amazon S3 în cinci minute

Acest scurt tutorial vă va învăța cum să faceți backup la MySQL în Amazon S3. Veți avea nevoie de:

  1. MySQL
  2. Un bucket Amazon S3 configurat (pregătiți cheile de acces pentru s3cmd)
  3. Utilitarul s3cmd instalat pe server (yum install s3cmd). Configurați-l cu s3cmd --configure

Pasul 1. Creeați mai întâi un backup local

Veți creea un fișier cu datele de access ale user-ului root în MySQL folosint comanda vim /root/mysql-extra-config 

[client]
user=root
password=super-secret-password

Apoi faceți un script de backup simplu (mai târziu poate fi extins și la alte date), vim /root/backup.sh

#!/bin/sh
# Make sure we have a backup directory in the first place
mkdir -p /root/backups
# Backup all MySQL DBs
/bin/mysqldump --defaults-extra-file=/root/mysql-extra-config --all-databases | /bin/gzip > "/root/backups/mysql-`date "+%Y%m%d-%H%M%S"`.sql.gz"

Faceți fișierul executabil chmod+x /root/backup.sh

Pasul 2. Setați un orar de backup și sincronizare

Configurați un job cron care să ruleze regulat script-ul de backup și comanda de sincronizare cu S3, lansăm crontab -e

30 4 * * * /root/backup.sh
45 4 * * * s3cmd -v sync -r /root/backups/ s3://backups

Salvați și în următoarea noapte, backup-ul va fi creeat. Nu uitați să testați a doua zi dacă apare în S3!

Atenție: Metoda descrisă nu este optimă pentru a face un back-up. Cu siguranță mai bună decât nimic, puteți aprofunda subiectul citind aici cum se face corect un backup de date.