將以下內容複製或上傳到主機上,我的路徑檔名是 /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

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *