파이썬 자동화 리눅스 httpd restart 자동실행 스크립트

이 스크립트를 이용하여 메모리 부하 특정% 이상일 경우 자동으로 아파치 서버를 재부팅 해줍니다.

만약 아파치 서버 이외 데이터베이스 서버를 재부팅 할경우 원하는대로 항목을 추가하여 수정하여 사용하면됩니다.

이 프로그램은 파이썬 3 에서 동작하며 파이썬3를 필히 설치해야 동작합니다.

모든 동작은 아래 내용 순서대로 따라하면 설치를 할 수 있으며 누구나 활용할 수 있습니다.

잘 보고 따라하셔서 리눅스 자동화 시스템을 만들어보시기 바랍니다.

 

파이썬 자동화 httpd restart 자동실행 스크립트

1. 파이썬3를 설치합니다.

이 단계는 파이썬3가 설치되신분들은 통과하셔도 됩니다.

yum install python3 

2. 파이썬 자동실행 스크립트 다운로드를 합니다.

자동실행 스크립트를 다운받아야 하므로 필히 이 단계를 진행하셔야합니다.

폴더명을 저와 동일하게 만드시면 모든 과정을 복사 붙여넣기 방식으로 편하게 진행할 수 있으니 가급적이면 그냥 복사 붙여넣기 방식대로 해보세요.

다운로드 받기 위해 /root 폴더에 _PYTHON3 폴더를 생성합니다.

(이 폴더명도 동일하게 생성해야지만 스크립트 내 폴더명을 변경하지 않으셔도됩니다)

 

mkdir /root/_PYTHON3
cd /root

curl https://vlog.tion.co.kr/python/python_httpd_auto_restart_tion.tar -o python_httpd_auto_restart_tion.tar
tar xvf python_httpd_auto_restart_tion.tar
rm -rf /root/python_httpd_auto_restart_tion.tar
cd /root/_PYTHON3
python3 get-pip.py
pip install psutil stdin

cp -ai p.sh /
cp -ai p.sh /root

/p.sh

echo OK

 

만약 pip 설치가 안될경우!!

sudo apt-get install python3-distutils

 

3. crontab 등록합니다.

crontab -e

00 00 * * * ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
*/1 * * * * python3 /root/_PYTHON3/memcheck_httpd_restart.py
*/30 * * * * rdate -s time.bora.net


 

 

1번째, 3번째 라인은 아시아, 시간서버에 자동으로 시간을 맞추는거라 빼셔도 상관없습니다.

자 이제부터 자동화된 스크립트를 통해서 아파치 서버가 부하 걸릴때마다 _logs 항목에 로그를 찍으면서 재실행이 됩니다.

https restart 명령어 이외에 MariaDB 같은 데이터베이스도 재실행 할 수 있습니다.

 

 

파이썬 자동스크립트 파일 설명

_______init_memory_limit_value.py

이 파일은 기본 메모리 제한수치를 작성하는 부분입니다.

기본 70% 설정이 되어져있는데 메모리 사용률이 70%를 넘는 순간 아파치 재실행을 하겠다 라는 의미입니다.

메모리가 넉넉하다면 수치를 더 낮추셔도 상관없습니다. 기본 메모리가 1GB, 2GB, 4GB 이렇게 저용량이라면 80~90% 사이를 지정해놓아야합니다.

 

memcheck_httpd_restart.py

내용은 전체적으로 몰라도 상관없습니다.

프로그래머가 아니더라도 제가 중간에 빨간박스 넣은 부분은 수정하실수 있을겁니다.

echo 로 입력한 부분은 주석으로 설명을 적어놓은 부분이며

os.system(“service httpd restart”)

이렇게 되어진 부분이 재실행 부분입니다.

이 부분에 mariadb, httpd, apache 서버 등 자신이원하는 항목을 추가할 수 있습니다.

 

get-pip.py 파일은 처음에 모듈 설치 할때 다운받은 파일이므로 이후에는 필요없으나 그냥 두셔도 큰 문제는 없습니다.

_logs 폴더는 재실행 될때마다 자동으로 파일이 생성되어 언제 재실행이 되었는지 기록을 확인 할 수 있습니다.

__pycache__ 폴더는 파이썬이 실행되면 자동으로 임시 저장되는 폴더이므로 그냥 놔두시면됩니다.

 

혹시 사용하시다가 도움 되신 분들은 저에게 꼭 문자 한통 스마트폰으로 클릭하셔서 남겨주세요^^

스마트폰에서 클릭해서 문자보내기

 

잘 사용하세요.

감사합니다.

 

태그: