해외 가상서버를 사용하다 보면 네트워크 사용량 초과로 인한 추가요금이 스트레스 입니다
현재 Digital Ocean의 VPS를 사용하는 중인데 저도 이 문제가 스트레스여서 ㅎㅎ
cron을 이용해 주기적으로 네트워크 사용량을 확인 후 WAS를 자동으로 shutdown 하는 방법에 대해서 공유합니다.
1. 각 OS에 맞는 방법으로 vnstat을 설치 합니다.
vnstat 설치 참고
아래 내용은 CentOS 7.0 기준 입니다.
2. Cron 정보 등록
crontab -e 입력 후 아래 스크립트를 입력합니다.
1 2 |
*/5 * * * * vnstat -u -i eth0 */10 * * * * /home/root/vnstat/auto_shutdown.sh > /home/root/vnstat/auto_shutdown.sh.log 2>&1 |
3. 잘 등록하였다면 아래와 같이 출력됩니다.
*/5 * * * * vnstat -u -i eth0
– 5분에 한번씩 주기적으로 실행합니다.
– vnstat database에 네트워크 사용량을 업데이트 합니다. ( -i 옵션을 이용해 네트워크 인터페이스 이름을 지정했습니다. )
*/10 * * * * /home/root/vnstat/auto_shutdown.sh > /home/root/vnstat/auto_shutdown.sh.log 2>&1
– 10분에 한번씩 주기적으로 실행합니다.
– vnstat 결과를 참고하여 was를 자동으로 중지합니다.
4. auto_shutdown.sh를 적당한 곳에 작성합니다.
vi auto_shutdown.sh 입력
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash ax=`vnstat --oneline | awk -F ";" '{print $11}'` if [[ "$ax" == *TiB* ]]; then if [ $(echo "$(echo "$ax" | sed 's/ TiB//g') > 2.9"|bc) -eq 1 ] then sh /home/root/tomcat_1/bin/shutdown.sh -force sh /home/root/tomcat_2/bin/shutdown.sh -force fi fi |
– vnstat database의 내용을 기준으로 2.9 TiB를 넘어설 경우 was 서비스를 종료하는 스크립트 입니다.
0개의 댓글