Requête MySQL automatisée en tant que tâche Cron
Question :
Une requête MySQL peut-elle être exécuté comme une tâche cron sans mot de passe manuel entrée ?
Contexte :
L'objectif est de purger quotidiennement les entrées de la base de données MySQL datant de plus d'une semaine à l'aide d'une tâche cron. La requête PHP à exécuter est :
mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7");
Solution :
Option 1 : Planificateur d'événements MySQL
C'est recommandé pour utiliser le planificateur d'événements de MySQL au lieu des tâches cron. Pour l'activer :
SET GLOBAL event_scheduler = ON;
Créer un événement :
CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7;
Option 2 : Exécuter un fichier PHP
Pour exécuter un fichier PHP en tant que tâche cron, enregistrez d'abord la requête sous forme de fichier PHP :
Ensuite, modifiez la crontab fichier :
crontab -e
Ajoutez la ligne suivante :
* * * * * /usr/bin/php /path/to/php_file.php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!