Automatisierte MySQL-Abfrage als Cron-Job
Frage:
Kann eine MySQL-Abfrage sein als Cron-Job ohne manuelle Passworteingabe ausgeführt?
Hintergrund:
Ziel ist es, MySQL-Datenbankeinträge, die älter als eine Woche sind, täglich mithilfe eines Cron-Jobs zu bereinigen. Die auszuführende PHP-Abfrage lautet:
mysql_query("DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7");
Lösung:
Option 1: MySQL Event Scheduler
Es wird empfohlen den Event-Scheduler von MySQL anstelle von Cron-Jobs zu verwenden. Um es zu aktivieren:
SET GLOBAL event_scheduler = ON;
Erstellen Sie ein Ereignis:
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: Ausführen einer PHP-Datei
Um eine PHP-Datei auszuführen Speichern Sie als Cron-Job zunächst die Abfrage als PHP-Datei:
Ändern Sie dann die Crontab-Datei:
crontab -e
Fügen Sie die folgende Zeile hinzu:
* * * * * /usr/bin/php /path/to/php_file.php
Das obige ist der detaillierte Inhalt vonWie automatisiere ich die Ausführung von MySQL-Abfragen als Cron-Job ohne manuelle Passworteingabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!