Alasan paling mungkin mengapa perintah Anda gagal adalah karena Anda tidak menyediakan jalur absolut untuk mysql. Lakukan dengan cara ini
/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
Seharusnya berfungsi dengan baik.
Itu karena cron dijalankan di bawah akun yang tidak memiliki PATH yang ditentukan atau tidak menyertakan jalur ke mysql.
Sekarang ada opsi lain - menggunakan acara MySQL
CREATE EVENT update_date_column
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO TRUNCATE TABLE juicebox;
Jika Anda memutuskan untuk menggunakan pendekatan acara:
- gunakan
SHOW EVENTS
untuk membuat daftar acara yang dibuat dengan atributnya (mis.status
) - gunakan
SHOW PROCESSLIST
untuk memeriksa apakah penjadwal acara diaktifkan. Jika AKTIF, Anda akan melihat proses "Daemon
" oleh pengguna "event_scheduler
". - gunakan
SET GLOBAL event_scheduler = ON;
untuk mengaktifkan penjadwal jika saat ini tidak diaktifkan. - Selengkapnya tentang mengonfigurasi penjadwal acara, baca di sini