將以下內容複製或上傳到主機上,我的路徑檔名是 /root/cron/user-space-alert.sh ,你也可以自己取名。
※請記得在單引號中填入 LINE API TOKEN 才會正常通知。
Bash
#!/bin/bash
# Version: 0.1
# 需搭配 WP-Cli
# 每天晚上 11 點執行
# 00 23 * * * /bin/bash /root/cron/user-space-alert.sh
# 設定要通知的大小 (MB)
ALERT_SIZE=500
# LINE API TOKEN
export LINE_API_TOKEN=''
# 換行
NEWLINE=$'\n'
# 傳送到 Line
function send_to_line () {
curl --silent -X POST "https://notify-api.line.me/api/notify" -H "Authorization: Bearer ${LINE_API_TOKEN}" \
-F "message=${1}${NEWLINE} 主機: $(hostname) ${NEWLINE} 時間: $(date)"
}
for x in $(ls -l /home/ | awk '/^d/ {print $NF}')
do
# 跳過指定帳號
if [ ${x} == "runcloud" ]; then
continue 1
fi
for y in $(ls -l /home/${x}/webapps/ | awk '/^d/ {print $NF}')
do
# 以 MB 去比較 (-m)
if [[ $(du -sm /home/${x}/webapps/${y} | awk '{ print $1 }' ) -gt ${ALERT_SIZE} ]]; then
cd /home/${x}/webapps/${y}/
SITE_SIZE=$(du -sh . | awk '{ print $1 }')
SITE_URL=$(sudo -u ${x} wp option get siteurl)
send_to_line "- ${NEWLINE} 網站: ${SITE_URL} ${NEWLINE} 目前使用量: ${SITE_SIZE}${NEWLINE}"
fi
done
done
將檔案權限改為可執行
chomd +x /root/cron/user-space-alert.sh
鍵入排程指令
crontab -e
進入編輯填入以下內容即可完成。
(路徑與檔名記得改成自己的)
# 每天晚上 11 點執行
0 23 * * * /bin/bash /root/cron/user-space-alert.sh