2014-01-29 3 views
2

У меня возникли проблемы с тем, как обрезать таблицу Mysql с заданием cron. Независимо от того, что я пытаюсь, я не могу заставить базу данных очистить таблицу. Спасибо за помощь.Усекать Mysql Table Cron Job?

mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juicebox" 

Я использую это:

http://i.stack.imgur.com/FUmow.png

& &/вар/Lib/MySQL/fruitloops_juicebox добавив путь еще не решает проблему ... Я не понимаю, Что неправильно.

+0

ли команда, которую вы при условии работы? Если нет - как это относится к cron? – zerkms

+0

Извините, его работа cron, я, должно быть, ошибся. Нет кода не работает. – HamAndCheese

+0

В используемой команде нет ничего плохого, если вы используете действительные учетные данные и имена объектов. Ошибка должна быть где-то в другом месте. –

ответ

7

Вероятнее всего, ваша команда не работает, так это то, что вы не указали абсолютный путь для mysql. Сделать это таким образом

/path/to/mysql -uderp_example -pexample -hlocalhost -Dexample -e"TRUNCATE TABLE juice box" 
^^^^^^^^ 

Он должен работать нормально.

Это потому, что cron выполняется под учетной записью, которая либо не имеет PATH, либо не имеет пути к mysql.


Теперь есть еще один вариант - с помощью MySQL event

CREATE EVENT update_date_column 
    ON SCHEDULE EVERY 1 HOUR STARTS NOW() 
    DO TRUNCATE TABLE juicebox; 

Если вы решите пойти с подходом события:

  • использования SHOW EVENTS в список созданных событий с их атрибутами (например, status)
  • использовать SHOW PROCESSLIST, чтобы проверить, является ли планировщик событий включен. Если он включен, вы должны увидеть процесс «Daemon» пользователем «event_scheduler».
  • использовать SET GLOBAL event_scheduler = ON;, чтобы включить планировщик, если он в данный момент не включен.
  • Подробнее о настройке планировщика событий чтения here
+0

@peterm Я добавил некоторую информацию на главный пост. У меня все еще есть проблемы ... – HamAndCheese

+0

Спасибо, Питер. :) – HamAndCheese

+0

@HamAndCheese Вы очень желанны. Я рад, что все это сработало для вас. Удачи :) – peterm