Den mest sandsynlige årsag til, at din kommando fejler, er, at du ikke har angivet en absolut sti til mysql. Gør det på denne måde
/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
Det burde fungere fint.
Det er fordi cron kører under en konto, som enten ikke har PATH defineret eller ikke inkluderer en sti til mysql.
Nu er der en anden mulighed - ved at bruge en MySQL-begivenhed
CREATE EVENT update_date_column
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO TRUNCATE TABLE juicebox;
Hvis du beslutter dig for at gå med en begivenhedstilgang:
- brug
SHOW EVENTS
for at liste oprettede begivenheder med deres attributter (f.eks.status
) - brug
SHOW PROCESSLIST
for at kontrollere, om begivenhedsplanlæggeren er aktiveret. Hvis den er ON, skulle du se en proces "Daemon
" af bruger "event_scheduler
". - brug
SET GLOBAL event_scheduler = ON;
for at aktivere skemalæggeren, hvis den ikke er aktiveret i øjeblikket. - Mere om konfiguration af begivenhedsplanlægger læs her