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

여현구님의 프로필 이미지

작성한 질문수

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

스크립트 실행 결과 미표시

해결된 질문

23.12.07 20:57 작성

·

200

0

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

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

답변 1

1

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

2023. 12. 08. 20:25

안녕하세요.

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

  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%이상 사용할 때 알림을 보내도록 조건을 바꾸고 실행하여 알림을 확인할 수 있습니다.

 

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

2023. 12. 17. 21:11

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

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

2023. 12. 17. 21:26

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

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

2023. 12. 17. 21:36

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

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

2023. 12. 17. 22:36

추가 설명입니다.

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

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

 

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

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

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

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

2023. 12. 18. 00:18

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

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

2023. 12. 18. 10:21

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

 

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

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

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