인프런 커뮤니티 질문&답변

여현구님의 프로필 이미지
여현구

작성한 질문수

시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script

스크립트 실행 결과 미표시

해결된 질문

작성

·

210

0

스크린샷 2023-12-07 오후 8.55.46.png스크린샷 2023-12-07 오후 8.56.21.png텔레그램봇으로 알림이 안뜨는건 nginx의 용량이 안차서 그런것 같은데

혹시 고의적으로 용량을 늘릴 수 있는 방법 있을까요?

답변 1

1

그로스쿨님의 프로필 이미지
그로스쿨
지식공유자

안녕하세요.

알림은 두 가지 방법으로 테스트를 해 보실 수 있을 것 같습니다.

  1. dd 명령어로 더미파일을 만들어서 디스크 공간을 차지하게 만드는 방법
    예를들어 다음과 같은 dd 명령으로 5GB 크기의 test.txt 파일을 만들 수 있습니다.
    dd if=/dev/zero of=test.txt bs=1 count=0 seek=5G


    이런 식으로 디스크 용량에 맞춰 큰 파일을 만들고 테스트를 해보세요.

  2. 조건을 변경하는 방법
    tel_push.sh에서 디스크공간을 확인하는 조건의 숫자를 낮춰서 텔레그램봇으로 알림을 보낼 수 있습니다.
    예를들어 특정 파티션을 90%이상 사용할 때 알림을 보내게 했다면 5%이상 사용할 때 알림을 보내도록 조건을 바꾸고 실행하여 알림을 확인할 수 있습니다.

 

여현구님의 프로필 이미지
여현구
질문자

/var/log/nginx 안에서 dd명령어를 실행해야겠죠?

여현구님의 프로필 이미지
여현구
질문자

그래도 안되서 너무 답답합니다 ..ㅜㅜ

여현구님의 프로필 이미지
여현구
질문자

image뭐 아무것도 안뜨긴 하지만 텔레그램 봇도 반응이 없습니다!

그로스쿨님의 프로필 이미지
그로스쿨
지식공유자

추가 설명입니다.

dd 명령어는 아무 곳에서 실행하셔도 상관없습니다.

제가 위 답변에서 예시로 들은건 5GB파일이지만 df 결과를 보시고 /(루트) 파티션이 90%이상 사용하도록 파일크기를 맞춰서 만드셔야 합니다.

 

그리고 추가로 보내주신 코드부분을 그대로 실행하신 것이 맞을까요?

보내주신 코드 : ./tel_push.sh "cent1" "/var/log/nginx partition check please"

혹시 이렇게 실행하신거라면 실행은 ./tel_push.sh로 해주세요.

여현구님의 프로필 이미지
여현구
질문자

아 /var/log/nginx가 아니라 / 자체 용량이 90이 넘어야 실행이 되는건가요?

그로스쿨님의 프로필 이미지
그로스쿨
지식공유자

리눅스를 설치할 때 파티션을 세분화해서 나누지 않았기 때문에 /var/log/nginx 도 /(루트) 파티션에 포함이 됩니다. 그러니 /var/log/nginx에서 dd로 대용량 파일을 생성하셔도 상관없습니다.

 

여기서 텔레그램으로 알람을 보내는 이유는 /(루트) 파티션의 사용 용량이 90%가 넘었기 때문에 공간을 확보하라는 의미로 관리자에게 메세지를 보내는 것입니다.

스크립트 소스를 보시면 if문으로 /(루트) 파티션 사용하는 용량(퍼센트)을 가져와서 숫자와 비교하는 부분이 있을거예요.

그렇기때문에 처음에 질문하신 문제의 해결방법이 / 파티션 퍼센트를 가져와서 비교하는 부분 숫자를 낮추거나 /(루트) 파티션의 사용 용량을 늘리거나 하면 해결할 수 있다고 말씀드린거예요. ^^

여현구님의 프로필 이미지
여현구

작성한 질문수

질문하기