스크립트에서는 디스크 공간 모니터링을 더욱 스마트하게 만드는 방법을 찾아야 합니다. 더 작은 파일 시스템에서는 90%가 찼을 때 경고를 보내고 싶지만, 더 큰 파일 시스템에서는 여유 공간이 몇 GB밖에 없을 때만 경고해야 합니다.
누군가 이것을 설명할 수 있나요?
답변1
여러 옵션이 있지만 요구 사항에 따라 다음 스크립트를 수정해야 합니다.
#!/usr/bin/awk -f
BEGIN{
ADMIN="root@localhost"
threshold=20
"date" | getline date
"uname -n" | getline hostname
while("LC_ALL=C df -Ph" | getline){
used=$5
if($1 != "Filesystem" && int(used) >= threshold){
print "Running out of space: "$1,used" used on "hostname" as on: "date
print "mail -s \"Alert: Almost out of disk space: " $1,used" used\" "ADMIN" >/dev/null" | "sh"
close("sh");
}
}
}
다음 링크를 참고하시면 됩니다 http://www.cyberciti.biz/tips/shell-script-to-watch-the-disk-space.html
http://www.linuxjournal.com/content/tech-tip-send-email-alert-when-your-disk-space-gets-low
답변2
check_disk
이 목적으로 Nagios 플러그인을 (ab) 사용할 수 있습니다 . 장점은 이 소프트웨어가 가볍고 잘 테스트되었으며 패키지 관리자(Debian/Ubuntu 패키지 nagios-plugins-basic
)에서 이미 제공했을 수도 있다는 것입니다. 사용 예:
check_disk -w 10% -c 3 -u GB -p / -p /mnt
이 예에서는 두 개의 조인 포인트 /
와 를 확인합니다 /mnt
. 종료 상태가 2이면 디스크의 여유 공간이 3GB 미만이고, 종료 상태가 1이면 디스크의 여유 공간이 10% 미만이며, 종료 상태가 0이면 두 값에 모두 도달하지 않습니다. Bash에서 종료 상태를 확인하는 것은 간단합니다 $?
.