Backup MySQL automatici: rotazione, verifica e ripristino
Come programmare dump MySQL coerenti, proteggere le copie e provarne il ripristino.
Come programmare dump MySQL coerenti, proteggere le copie e provarne il ripristino.
Cosa protegge il dump
mysqldump --single-transaction --quick è adatto a tabelle transazionali come InnoDB: non garantisce la stessa istantanea per tabelle non transazionali e non protegge da DDL concorrenti. Esegui anche backup di configurazioni, segreti e file caricati dall’applicazione; per database grandi valuta soluzioni fisiche o MySQL Shell.
Procedura robusta
Usa un account dedicato con privilegi necessari e credenziali in un file accessibile solo al processo di backup. In uno script Bash imposta umask 077 e set -euo pipefail, crea un file temporaneo nella directory finale, esegui mysqldump --defaults-extra-file=/percorso/credenziali.cnf --single-transaction --quick --routines --events --triggers --databases nome_db | gzip -c nel file, controlla gzip -t e rinomina solo dopo il successo. Il file delle opzioni deve essere il primo argomento del client. Elimina il temporaneo in caso d’errore.
Rotazione e allarmi
Esegui da cron o systemd timer e registra esito, durata e dimensione. Elimina soltanto file del pattern di backup previsto e più vecchi della soglia scelta; conserva copie cifrate anche fuori dal server e proteggile con accessi separati. Se dump, compressione o invio falliscono, invia un allarme: un job silenzioso non è una verifica.
Prova di ripristino
gzip -t controlla il contenitore compresso, non la correttezza SQL o la completezza dei dati. Ripristina periodicamente in un database isolato, controlla tabelle e applicazione e misura il tempo di recupero. Definisci quanto dato puoi perdere e per la ripresa a un istante valuta binlog, privilegi e procedure specifiche.
Fonte
Share
What's Your Reaction?
Like
0
Cancella like
0
Amore
0
Buffo
0
arrabbiato
0
Sad
0
Wow
0