定时执行
diskquota
命令,解析输出内容,计算存储占用比例及文件使用比例。若满足条件,则发送告警邮件。
根据系统选择合适的执行文件,点击链接下载,并将文件拷贝或链接到 $PATH
其中目录即可。
$ mv wlbdqm_linux_amd64 wlbdqm
$ ln -s /YOUR_PATH/wlbdqm /usr/local/bin/wlbdqm
wlbdqm
支持以下选项:
Usage:
wlbdqm [flags]
Flags:
-D, --debug used in debug mode
-e, --env string environment variables file
-h, --help help for wlbdqm
-i, --interval string time interval (default "12h")
-p, --percentage float exceeded percentage (default 80)
-t, --to string a target email address or list, use separator "|" (default "a2htray@outlook.com")
-D
选项指定程序进入调试模式,程序输出包含调试信息:
$ wlbdqm -D -e ./.env -i 20s -p 80 -t a2htray@outlook.com
2021/10/30 01:40:35 [info] run command `wlbdqm`
2021/10/30 01:40:35 [debug] [[20s 20 s]]
2021/10/30 01:40:35 [debug] interval 20s
2021/10/30 01:40:35 [info] task 1 runs on @every 20s
-e
选项指定环境变量文件,用于配置邮件服务器信息,环境变量文件如下:
WLBDQM_MAIL_FROM=YOUR EMAIL ADDRESS # 发件邮箱
WLBDQM_MAIL_PASSWORD=YOUR EMAIL PASSWORD # 邮箱密码
WLBDQM_MAIL_HOST=HOST DEPENDS ON EACH EMAIL SERVICE PROVIDER # 服务商 SMTP 地址
WLBDQM_MAIL_PORT=PORT DEPENDS ON EACH EMAIL SERVICE PROVIDER # 端口号
WLBDQM_DISKQUOTA_SCRIPT=YOUR DISKQUOTA SHELL SCRIPT # diskquota.sh 的绝对路径
WLBDQM_SHELL_BASH=YOUR BASH SCRIPT # 指定 bash,若不指定,默认为 /bin/bash
.env
文件可下载仓库的 example.env
,或自行创建。
-i
选项指定执行 diskquota
命令的时间间隔,执行时间从命令执行之时开始计算。
- 支持整数输入
- 支持天(
d
)、时(h
)、分(m
)、秒(s
)单位
-i 1d # 每天执行一次
-i 2h # 每两小时执行一次
-i 3m # 每 3 分钟执行一次
-i 4s # 每 4 秒执行一次
-p
选项指定比例阈值。若存储占用比例或文件数量比例超过阈值,则程序将自动发送邮件。
-t
选项指定邮件接收人。使用分隔符|
设置多人接收。
-t foo@example.com
-t foo@example.com|bar@example.com
启动程序
$ wlbdqm -e ./.env -i 12h -p 80 -t foo@example.com
或后台运行并将输出重定向到日志文件
$ nohup wlbdqm -e ./.env -i 12h -p 80 -t foo@example.com > wlbdqm.log 2>&1 &
停止程序
$ ps -ef | grep wlbdqm
501 75553 36966 0 12:58PM ttys001 0:00.01 wlbdqm -e ./.env -i 12h -p 80 -t foo@example.com
501 75802 36966 0 12:59PM ttys001 0:00.00 grep wlbdqm
$ kill -9 75553
邮件截图