Скрипт, который использует запрос MySQL для автоматического удаления вывода

Скрипт, который использует запрос MySQL для автоматического удаления вывода

У меня есть этот запрос, который выводит обновления старше 7 дней из базы данных. Как мне сделать скрипт, который берет оператор MySQL и помещает его в скрипт, который будет выполнен cron.

echo "select name, reported_at from nodes where reported_at < curdate() -7;" |
mysql dashboard

Пример вывода:

name    reported_at
xadf.edu    2012-03-21 14:39:02
xadf.edu    2012-03-22 15:30:01
adsfsadf.edu    2012-03-14 14:40:02
ekdahlj.edu 2012-03-23 03:40:04
adfasdf.net 2012-03-21 14:42:02
eqrsdr.edu  2012-03-15 14:42:02
qwerwfva.edu    2012-03-13 14:42:03
qerqwer.edu 2012-03-23 14:40:01
adfasde.edu 2012-03-05 17:42:03
bsfdgs.edu  2012-03-23 15:20:01
adfadsf.edu 2012-03-23 14:43:01

решение1

Вы можете создать файл~/путь/к/myquery.sql:

select name, reported_at from nodes where reported_at < curdate() -7;

А чтобы отредактировать ваш crontab, выполните:

crontab -e

И в ваш crontab добавьте строку

* * * * * mysql dashboard < ~/path/to/myquery.sql > ~/path/to/query/output

Чтобы изменить частоту выполнения этой команды, вам нужно изменить пять * в начале этой строки. Чтобы понять, как это правильно сделать, вы можете проверитьэта страница.

решение2

Просто сохраните его в файле, а затем перенаправьте его в mysqlинструмент в вашем crontab.

* * * * * mysql ... < savedstatements.sql

Связанный контент