[완료]df -k 로 90%이상인 로그가 있는지 스크립트를 짜보았습니다.

l77jk의 이미지

msg = "This Server Disk Rate is not 90%"
df -k |awk '{print $5}' |egrep '9[0-9]|100'|awk '{if($5!="90") print $meg}'

디스크 용량 90%가 넘으면 출력 그렇지 않으면 디스크용량은 90%이상이 아니다를 출력 하려고 합니다.

아무리 해봐도 나오질 않습니다.

힌트좀 부탁드리겟습니다.

eseo의 이미지

두번째 필터뒤의 egrep 때문이 아닐까요? (90 이상일 경우만 걸르게 되어 있습니다.)
df -k
df -k | awk '{print $5}'
df -k |awk '{print $5}' |egrep '9[0-9]|100'

이런식으로 순차적으로 실행시켜보면 그렇게 보이네요.

msg = "This Server Disk Rate is not 90%"
df -k | grep -v Use | awk -v "MSG=$msg" '{if($5 <= "90%") print MSG ; else print $5}'

주신코드를 약간 손보면 이 정도로 동작시킬 수 있습니다.

---
배려하는 마음을 갖자.

익명 사용자의 이미지

헌데 for문이 아닌데요. 라인수만큼 msg를 찍습니다. 이건 왜 그런건가요?

eseo의 이미지

그것은 df 명령시에 특정 하드/파티션을 지정하지 않으면, 현재 마운트 되어 있는 모든 하드 정보를 보여주기 때문입니다.
특정 하드/파티션은 다음과 같이 지정할 수 있습니다.

df -k /dev/sda1

---
배려하는 마음을 갖자.