I want to run a CronJob on an Ubuntu server 16.04 with php.7.0, which does not work for me.
I have the following crontab -e, which should perform or execute my script every 10 minutes, but it does not do anything.
10 * * * * /usr/bin/php7.0 /var/www/html/comprobantes/copia.php
If I enter wwww.sitio.com/comprobantes/copia.php, the script runs correctly
the code that is in copia.php is:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require '../public/PHPMailer/src/Exception.php';
require '../public/PHPMailer/src/PHPMailer.php';
require '../public/PHPMailer/src/SMTP.php';
$db_host = 'localhost'; //Host del Servidor MySQL
$db_name = 'db'; //Nombre de la Base de datos
$db_user = 'root'; //Usuario de MySQL
$db_pass = ''; //Password de Usuario MySQL
$fecha = date("Y_m_d-H_i_s"); //Obtenemos la fecha y hora para identificar el respaldo
// Construimos el nombre de archivo SQL Ejemplo: mibase_20170101-081120.sql
$salida_sql = $db_name.'_'.$fecha.'.sql';
//Comando para genera respaldo de MySQL, enviamos las variales de conexion y el destino
//$dump = "mysqldump --h$db_host -u$db_user -p$db_pass --opt $db_name > $salida_sql";
$dump = "mysqldump --opt -h $db_host -u $db_user -p$db_pass $db_name > $salida_sql";
system($dump, $output); //Ejecutamos el comando para respaldo
$zip = new ZipArchive(); //Objeto de Libreria ZipArchive
//Construimos el nombre del archivo ZIP Ejemplo: mibase_20160101-081120.zip
$salida_zip = $db_name.'_'.$fecha.'.zip';
if($zip->open($salida_zip,ZIPARCHIVE::CREATE)===true) { //Creamos y abrimos el archivo ZIP
$zip->addFile($salida_sql); //Agregamos el archivo SQL a ZIP
$zip->close(); //Cerramos el ZIP
unlink($salida_sql); //Eliminamos el archivo temporal SQL
//header ("Location: $salida_zip"); // Redireccionamos para descargar el Arcivo ZIP
$email_user = "[email protected]";
$email_password = "clave";
$the_subject = "BACKUP ".$fecha;
$address_to = "[email protected]";
$from_name = "SISTEMA";
$phpmailer = new PHPMailer();
// ---------- datos de la cuenta de Gmail -------------------------------
$phpmailer->Username = $email_user;
$phpmailer->Password = $email_password;
//-----------------------------------------------------------------------
// $phpmailer->SMTPDebug = 1;
$phpmailer->SMTPSecure = 'ssl';
$phpmailer->Host = "smtp.gmail.com"; // GMail
$phpmailer->Port = 465;
$phpmailer->IsSMTP(); // use SMTP
$phpmailer->SMTPAuth = true;
$phpmailer->setFrom($phpmailer->Username,$from_name);
$phpmailer->AddAddress($address_to); // recipients email
$phpmailer->Subject = $the_subject;
$phpmailer->Body .="<h1 style='color:#3498db;'>COPIA DE SEGURIDAD!</h1>";
$phpmailer->Body .= "<p>Mensaje personalizado y automatico, no responder</p>";
$phpmailer->Body .= "<p>Fecha y Hora: ".date("d-m-Y h:i:s")."</p>";
$phpmailer->AddAttachment($salida_zip);
$phpmailer->IsHTML(true);
$phpmailer->Send();
} else {
echo 'Error'; //Enviamos el mensaje de error
}
?>
I would appreciate help to know why it does not work. Saludos.