Come eseguire mysql dump con logrotate
Vediamo come usare il sistema logrotate per eseguire i backup di mysql server con rotazione e auto “purge” del dump del database, oltre che dei file di cui necessitano i miei siti.
In questo esempio eseguo backup di un mysql con mysqldump ogni giorno, e conservo gli 8 precedenti con questo metodo.
Tecnica logrotate mysql dump
Vediamo come si fa nei prossimi 3 passaggi.
1. Creare un file a piacere: mysql-bkup.
Faremo copia di tutti i database in un unico dump. Certamente sistemerete su questo bath la vostra password mysql.
vim /etc/logrotate.d/mysql-bkup
/var/backups/db.sql.gz { daily rotate 8 nocompress create 640 root adm postrotate mysqldump -u root -pPassword --all-databases > /var/backups/db.sql --single-transaction gzip -9f /var/backups/db.sql endscript }
2. Un ultimo passaggio:
Va creato il file vuoto, che poi verrà rotato. Attenzione se non lo trova, logrotate si interromperà e genererà un errore.
touch /var/backups/db.sql.gz
Per eseguire una verifica della configurazione logrotate appena eseguita,eseguite questo commando:
logrotate -f /etc/logrotate.d/mysql-bkup
Se non vedete errori e la procedura esce troppo presto, potrebbe esserci qualcosa che non va. Utile aggiungere opzione verbose.
logrotate -f /etc/logrotate.d/mysql-bkup -v
3. Ripetere per il tar dei siti
Non occorre molta fantasia per alterare questa configurazione e tare un tar cfz degli archivi dei file siti. Quindi buon proseguimento. Ripetere i task 1 e 2 a piacere.
Fatto. Non c’è altro.