A razão mais provável de seu comando estar falhando é que você não forneceu um caminho absoluto para o mysql. Faça assim
/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
Deve funcionar muito bem.
É porque o cron é executado em uma conta que não possui PATH definido ou não inclui um caminho para o mysql.
Agora há outra opção - usando um evento MySQL
CREATE EVENT update_date_column
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO TRUNCATE TABLE juicebox;
Se você decidir usar uma abordagem de evento:
- use
SHOW EVENTS
para listar eventos criados com seus atributos (por exemplo,status
) - use
SHOW PROCESSLIST
para verificar se o agendador de eventos está habilitado. Se estiver ATIVADO, você deverá ver um processo "Daemon
" pelo usuário "event_scheduler
". - use
SET GLOBAL event_scheduler = ON;
para ativar o agendador se ele não estiver ativado no momento. - Mais sobre como configurar o agendador de eventos leia aqui