我使用Monit
以下列方式监控文件大小:
check file mydb with path /data/mydatabase.db
if size > 1 GB then alert
我可以做类似的事情来监控目录大小吗?
答案 0 :(得分:2)
不要认为他们有一个,但我的解决方法是以下列方式使用check program
:
check program the_folder_size
with path "/path/to/bashscript /path/to/folder_to_monitor 500"
if status != 0 then alert
其中bash脚本包含两个参数,即要监视的文件夹的路径以及文件夹不允许超过的大小(以kB为单位)。 echo部分是让monit
输出monit web gui中的文件夹大小。
#!/bin/bash
FOLDER_PATH=$1
REFERENCE_SIZE=$2
SIZE=$(/usr/bin/du -s $FOLDER_PATH | /usr/bin/awk '{print $1}')
echo "$FOLDER_PATH - ${SIZE}kB"
if [[ $SIZE -gt $(( $REFERENCE_SIZE )) ]]; then exit 1;fi
答案 1 :(得分:0)
您可以在配置中编写bash命令以检查目录大小。
单位为KB。
CHECK PROGRAM data_size
WITH PATH /bin/bash -c '[ $(du -s /data/path/ | awk "{print \$1}") -lt 500 ]'
IF status != 0
THEN alert