コマンドが失敗する最も可能性の高い理由は、mysqlの絶対パスを指定しなかったことです。このようにしてください
/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box"
^^^^^^^^
正常に動作するはずです。
これは、PATHが定義されていないか、mysqlへのパスが含まれていないアカウントでcronが実行されるためです。
ここで、別のオプションがあります-MySQLイベント>
CREATE EVENT update_date_column
ON SCHEDULE EVERY 1 HOUR STARTS NOW()
DO TRUNCATE TABLE juicebox;
イベントアプローチを採用する場合:
-
SHOW EVENTS
を使用します 作成されたイベントとその属性(status
など)を一覧表示します ) -
SHOW PROCESSLIST
を使用します イベントスケジューラが有効になっているかどうかを確認します。オンの場合、プロセス「Daemon
」が表示されます。 "ユーザーによる"event_scheduler
"。 - use
SET GLOBAL event_scheduler = ON;
現在有効になっていない場合にスケジューラを有効にします。 - イベントスケジューラの構成の詳細については、こちら>