In questo articolo è illustrato come eseguire il backup periodico dei database mysql su macchina linux utilizzando uno script creato da tecrahul.
Lo script eseguirà il backup del database MySQL e il caricamento dei backup in varie posizioni remote come FTP, SFTP e Amazon s3.
Requisiti
Per poter eseguire correttamente questo script è necessario installare i seguenti pacchetti sul proprio ambiente Linux GIT, GZIP, FTP, MYSQL, MYSQLDUMP, RM, MKDIR, MYSQLADMIN, GREP tramite yum o apt-install.
Cloniamo la repository
Cloniamo la repository nella directory /etc
cd /etc/ git clone https://github.com/manuelroccon/mydumpadmin.git
Configurazione
Tutte le configurazioni sono presenti nel file settings.conf. In questo file possiamo indicare quale sia l’indirizzo ip e porta del sever MySql. E’ possibile includere tutti i database oppure database specifici.
Inoltre è possibile abilitare e parametrizzare le configurazioni locali di backup o remote in FTP, SFTP, Amazon S3 oltre a configurare delle notifiche email ad avvenuta esecuzione tramite SENDMAIL.
Le credenziali di accesso al db invece andremmo a inserirle sul file credentials.txt.
Esecuzione dello script di backup
Dopo aver configurato parametri e credenziali andremmo ad avviare per la prima volta lo script. Prima impostiamo anche i permessi di esecuzione.
cd /etc/mydumpadmin chmod a+x mysql-dump.sh ./mysql-dump.sh
Avviando lo script, il processo elaborerà tutti i database selezionati e salverà una copia in locale e caricherà una copia nella directory remota che avete configurato.
Verificando nella directory remota troverete tutti i file copiati.
Schedulazione
Dopo aver verificato il corretto funzionamento, scheduliamo l’esecuzione automatica dello script alle 2:00 tramite cron tab.
crontab -e 0 2 * * * cd /etc/mydumpadmin && ./mysql-dump.sh