파이썬 자동화 리눅스 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__ 폴더는 파이썬이 실행되면 자동으로 임시 저장되는 폴더이므로 그냥 놔두시면됩니다.

 

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

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

 

잘 사용하세요.

감사합니다.

 

태그:auto restart httpdauto restart httpd service scriptpython httpd restartpython restart apachepython script autopython script automationpython script automation anywherepython script autostartpython script for web automationpython thread 재시작python 재시작python 재실행python 함수 재실행restart httpdrestart httpd autolizationrestart httpd centos 8restart httpd service ubuntuschedule python script to run daily linuxservice httpd restart centos 8ubuntu sudo service httpd restart리눅스 부팅시 명령어 자동실행리눅스 부팅시 서비스 자동실행리눅스 부팅시 서비스 자동실행 명령어리눅스 부팅시 자동실행 스크립트리눅스 부팅시 프로그램 자동실행리눅스 쉘 스크립트 자동실행리눅스 자동실행리눅스 자동실행 명령어리눅스 자동실행 서비스리눅스 자동실행 설정리눅스 자동실행 스크립트리눅스 자동실행 파일 만들기리눅스 자동실행 프로그램리눅스 자동실행 해제리눅스 자동실행 확인리눅스 자동화리눅스 자동화 스크립트리눅스 파이썬 스크립트 실행파이썬 리눅스 명령어 실행파이썬 리눅스 명령어 실행 결과 저장파이썬 리눅스 실행파이썬 리눅스 실행파일 만들기파이썬 리눅스 실행하기파이썬 리눅스 자동화파이썬 웹서버 실행파이썬 웹서버 재실행파이썬 자동화파이썬 자동화 라이브러리파이썬 자동화 스크립트파이썬 자동화 툴파이썬 자동화 프로그램파이썬 자동화 프로그램 만들기파이썬 자동화 프로젝트