mysqldump
per l’esportazione di database in raw SQL. Invece di eseguire mysqldump
manualmente, è possibile installare uno script che lo esegua in automatico giornalmente, settimanalmente e mensilmente, esportando così i propri database. Uno dei più popolari di questi script si chiama automysqlbackup
e in questo articolo vediamo come installarlo ed utilizzarlo. Installare AutoMySQLBackup
È possibile installare AutoMySQLBackup direttamente dal repository Ubuntu lanciando il seguente comando:
sudo apt install automysqlbackup
Configurare AutoMySQLBackup
/etc/default/automysqlbackup
il quale si presenta con i seguenti parametri:
USERNAME=dbuser
Username to access the MySQL server e.g. dbuser
PASSWORD="password"
Username to access the MySQL server e.g. password
DBHOST=localhost
Host name (or IP address) of MySQL server e.g localhost
DBNAMES="DB1 DB2 DB3"
List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
BACKUPDIR="/backups"
Backup directory location e.g /backups
MAILCONTENT="stdout"
Mail setup What would you like to be mailed to you?
- log : send only log file
- files : send log file and sql files as attachments (see docs)
- stdout : will simply output the log to the screen if run manually.
- quiet : Only send logs if an error occurs to the MAILADDR.
MAXATTSIZE="4000"
Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])
MAILADDR="user@domain.com"
Email Address to send mail to? (user@domain.com)
Sono inoltre presenti molte altre opzioni avanzate, per le quali si rimanda alla man page ufficiale: https://manpages.ubuntu.com/manpages/jammy/man8/automysqlbackup.8.html
Eseguire AutoMySQLBackup
Per eseguire automysqlbackup è necessario avere permessi di root, pertanto dobbiamo invocarlo utilizzando sudo:
sudo automysqlbackup
Al termine dell’esecuzione possiamo controllare il contenuto della cartella /var/lib/automysqlbackup/
ls -R /var/lib/automysqlbackup/
Ottenendo un output simile al seguente
/var/lib/automysqlbackup/:
daily monthly weekly
/var/lib/automysqlbackup/daily:
exampledb information_schema performance_schema test wordpress
/var/lib/automysqlbackup/daily/exampledb:
exampledb_2024-05-27_17h42m.Monday.sql.gz
...
Schedulare l'esecuzione di AutoMySQLBackup
Per eseguire automysqlbackup automaticamente è necessario impostarlo nella crontab dell’utente root. Lanciamo quindi il seguente comando per aprire l’editor della crontab:
sudo crontab -e
Ipotizzando di voler eseguire il tool ogni giorno alle 21:00, aggiungiamo la seguente voce nella crontab:
00 21 * * * /usr/sbin/automysqlbackup