E se volessimo effettuare il backup solo una volta al giorno, "lanciando" lo script accedendo ad una pagina?
Creiamo una nuova tabella nel db, che chiameremo backup:
	codice:
	CREATE TABLE 'backup' (                 
          'data_backup' datetime default '0000-00-00 00:00:00'   
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
Modifichiamo il nostro script come segue:
	Codice PHP:
	
$db_name = "nome_del_db";                // nome del database
$db_user = "username_db";                // utente database
$db_psw = "password_db";                                  // password utente database
$to = "pippo@miosito.it";        // indirizzo email a cui viene spedito il backup
$from = "do-not-reply@miosito.it";        // indirizzo email dal quale parte il backup
$dbhost = "localhost";                      // indirizzo database
#crea connessione al db
$conn = mysql_connect($dbhost, $db_user, $db_psw);
    if (!$conn){
      die("Errore: " . mysql_error());
  }
        
mysql_select_db($db_name, $conn);
#verifica se il backup è già stato effettuato nella giornata di oggi
$get_data = "SELECT data_backup FROM backup WHERE data_backup = '" . date("Y-m-d") . "'";
$result = mysql_query($get_data, $conn);
if(mysql_num_rows($result) == 0){        // la data di backup non è uguale a quella corrente
    #effettua il backup del database
    $backupFile = $db_name . "_" . date("d-m-Y_H-i-s") . '.gz';
  $command = "mysqldump --opt -h " . $dbhost . " -u " . $db_user . " -p" . $db_psw . " " . $db_name . " | gzip > backup_files/" . $backupFile . "";
  system($command);
  
  require_once 'class.mailer.php';
  
  $mail = new PHPMailer(); //defaults to using php "mail()";
  
  $mail->AddAddress($to, '');
  $mail->SetFrom($from, '');
  $mail->IsHTML(true);
  $mail->Subject = "Backup DB: " . $backupFile;
  $mail->Body = "In allegato il backup del database " . $db_name . ".
Email generata in automatico dal sistema, NON RISPONDERE A QUESTA EMAIL";
  $mail->AddAttachment("backup_files/" . $backupFile);
  $mail->Send();
    
    
    #aggiorna la data di backup
    $update = "UPDATE backup SET data_backup = '" . date("Y-m-d") . "'";
  mysql_query($update, $conn);
}
mysql_close($conn); 
 
Basta includere questo script in una pagina php (possibilmente ad inizio pagina) affinchè all'accesso di quella pagina, venga effettuato il backup del database (se l'ultima data di backup è diversa da quella attuale).