Backup Mysql in PHP

1.094 visite

Backup MySql con PHP

Backup Mysql in PHP

 

Uno dei task più importanti per un programmatore PHP è fare il backup del proprio database Mysql. Non è raro infatti ricevere attacchi informatici e sperimentare la distruzione della propria fonte di dati rendendo non più fruibile il proprio sito.

Quindi è necessario pensare ad una soluzione che contempli l’ esecuzione automatica e regolare di uno script PHP che permetta di fare copia di backup su file del proprio database.

E’ facile notare come il nostro problema sia composto da tre sotto-problemi:

  1. Creare una funzione che scrive su file
  2. Creare una funzione che copia il database
  3. Temporizzare l’esecuzione del backup mysql in PHP

 

Funzione che scrive su File in PHP

E’ possibile scrivere su file in PHP utilizzando le funzioni native fopen, fwrite e fclose:

 

 

Funzione che fa il backup MySql in PHP

Per copiare il database dobbiamo connetterci al DB e leggerne tutte le tabelle. E’ conveniente usare SHOW TABLE per rendere dinamica la lettura delle tabelle e rendere quindi applicabile la funzione a tutti i database.

La funzione potrebbe essere la seguente:

 

Temporizzare il backup utilizzando Cronjob

Dopo aver creato un file per esempio cron.php contenente le due funzioni e la chiamata alla funzione di backup dobbiamo creare Cron Job e attivarlo sul server (in questo esempio usiamo server Linux):

Il Comando da eseguire è il seguente:

La sintassi del cron è:

Dove,

  • 1: Minuto (0-59)
  • 2: Ora (0-23)
  • 3: Giorno (0-31)
  • 4: Mese (0-12 [12 è riferito a Dicembre])
  • 5: Giorno della settimana (0-7 [7 or 0 è riferito a Domenica])
  • /path/cron.php – Script o comando da schedulare

 

Conclusioni e file cron.php

Scriviamo di seguito tutto il codice del file cron.php.

 

Iscriviti alla newsletter e rimani sempre aggiornato

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *