定時發送 database table 總筆數至 Slack 上

·

0 min read

首先,寫隻 xxx.sql 計算資料筆數,假定 table name 是 xxx

SELECT COUNT(1) FROM xxx;

再寫個 xxx.sh 去執行剛寫好的 sql,假定資料庫是用 MySQL:

#!/bin/shmysql -D xxx_database < xxx.sql | grep -v "COUNT(1)" | awk -v date="$(date +"%Y-%m-%d %H:%M")" '{print date" xxx table count: "$1}' >> xxx_count

xxx.sh 自動定時運作,假定要每小時執行一次:

while true; do ./xxx.sh;sleep 3600; done;

再利用 slackcat 定時發送到 Slack 上的 xxx_channel,slackcat 的安裝設定請參考 GitHub 上的說明:

tail -F -n1 xxx_count | slackcat --stream --channel xxx_channel

這樣 Slack 上的 xxx_channel 就會定時收到一則訊息了。