Backup MySQL · 3 min read · Feb 12, 2026
Backup e Ripristino MySQL Con mysql-zrm Su Debian Sarge - Pagina 3
4 Esempi di Backup
Con mysql-zrm puoi mantenere più backup, chiamati set di backup, ad esempio un backup giornaliero, un backup settimanale, un backup per il tuo database osCommerce, un backup per il tuo database vBulletin, ecc.
Ora creiamo il nostro primo backup che creiamo nel set di backup dailyrun:
mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0Questo eseguirà immediatamente il backup di tutti i database nella directory /var/lib/mysql-zrm/dailyrun, e creerà anche la directory /etc/mysql-zrm/dailyrun. –backup-level 0 significa: eseguire un backup completo (puoi anche eseguire backup incrementali ( –backup-level 1), ma ne parlerò più avanti - per ora eseguiamo solo backup completi).
Se hai abilitato le notifiche via email, dovresti aver ricevuto un’email con lo stato del backup ora. Ma puoi anche generare un rapporto sullo stato del backup dalla riga di comando in questo modo:
mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-infoL’output apparirà così:
| backup_set backup_date backup_level backup_status comment ---------------------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup riuscito ---- |
Puoi anche generare alcuni altri rapporti con i seguenti comandi:
mysql-zrm-reporter --where backup-set=dailyrun --show backup-method-info
mysql-zrm-reporter --where backup-set=dailyrun --show backup-retention-info
mysql-zrm-reporter --where backup-set=dailyrun --show backup-performance-info
mysql-zrm-reporter --where backup-set=dailyrun --show restore-full-info
mysql-zrm-reporter --where backup-set=dailyrun --show restore-incr-info
mysql-zrm-reporter --where backup-set=dailyrun --show replication-infoProva ciascuno di essi per vedere quali informazioni forniscono.
Ora vogliamo creare un backup giornaliero e uno settimanale che venga eseguito automaticamente dal sistema (cioè, senza la nostra interazione). Ecco come possiamo impostare questi backup:
mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --backup-level 0
mysql-zrm-scheduler --add --interval weekly --backup-set weeklyrun --backup-level 0(Con il secondo comando abbiamo creato un nuovo set di backup chiamato weeklyrun.)
Ora controlliamo i nostri backup programmati:
mysql-zrm-scheduler --queryL’output appare così:
| Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log 0 3 * * * /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set dailyrun --backup-level 0 0 4 * * * /usr/bin/mysql-zrm --action purge --destination /var/lib/mysql-zrm 0 2 * * 0 /usr/bin/mysql-zrm --action backup --destination /var/lib/mysql-zrm --backup-set weeklyrun --backup-level 0 |
Come puoi vedere, il backup giornaliero viene eseguito ogni giorno alle 03:00, e il backup settimanale viene eseguito ogni domenica alle 02:00.
(Per inciso, invece di
mysql-zrm-scheduler --querypuoi anche eseguire
crontab -lper ottenere le stesse informazioni.)
Se vuoi avviare il backup giornaliero in un altro momento, ad esempio alle 13:35, puoi farlo in questo modo:
mysql-zrm-scheduler --add --interval daily --backup-set dailyrun --start 13:35 --backup-level 0Per rimuovere un backup programmato da cron, puoi farlo in questo modo:
mysql-zrm-scheduler --delete --interval weeklyQuesto rimuoverebbe il backup settimanale eseguito la domenica alle 02:00 da cron. Se vuoi rimuovere il backup giornaliero programmato per le 13:35, puoi farlo in questo modo:
mysql-zrm-scheduler --delete --interval daily --start 13:35Ma puoi anche eseguire
crontab -eper modificare i tuoi lavori cron, il che è a volte più facile che gestire mysql-zrm-scheduler.
5 Rapporti Personalizzati, Rapporti HTML
Nel capitolo 4 ho già menzionato quali tipi di rapporti sono disponibili. Ma puoi anche generare rapporti personalizzati, cioè, puoi specificare quali colonne/informazioni vuoi vedere. Ad esempio,
mysql-zrm-reporter --fields backup-set,backup-date,backup-level,backup-status --where backup-set=dailyrungenera un rapporto per il set di backup dailyrun che mostra le colonne backup-set, backup-date, backup-level e backup-status:
| backup_set backup_date backup_level backup_status ------------------------------------------------------------------------------------------------ dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 Backup riuscito dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 Backup riuscito dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 Backup riuscito dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 Backup riuscito |
Un elenco di tutte le colonne è disponibile su http://mysqlbackup.zmanda.com/index.php/What_information_can_be_obtained_from_a_backup_report%3F.
mysql-zrm ti consente anche di creare rapporti HTML. Supponiamo che tu abbia un server web (ad es. Apache) installato sul tuo sistema con la radice del documento /var/www. Ora esegui
mysql-zrm-reporter --show backup-status-info --where backup-set=dailyrun --type html --output /var/www/backup-status-dailyrun.htmlQuesto crea il file HTML backup-status-dailyrun.html nella tua directory /var/www che puoi ora accedere nel tuo browser (ad es. http://server1.example.com/backup-status-dailyrun.html):

Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.