使用 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

你可以建立一個文件〜/路徑/to/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

只需將其保存在檔案中,然後將其重定向到mysqlcrontab 中的工具即可。

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

相關內容