[셸] apache 프로 세 스 를 검사 하 는 스 크 립 트
1612 단어 개인 총화
마침내 어느 날, 영감 이 떠 올 랐 습 니 다. 저 는 가장 멍청 한 방법 을 생각 했 습 니 다. 아파 치 프로 세 스 가 일 하고 있 는 지 정기 적 으로 확인 하 는 것 입 니 다.
#!/bin/bash
#~ file: /usr/local/bin/cwrun.cron
#~ power by [email protected]
#~ blog: http://blog.csdn.net/yagas
pro_total=$(ps -ef|grep httpd|wc -l)
if [ "$pro_total" -eq "1" ]; then
echo "web service is stoped."|mail -s "Warning: web service is stoped." [email protected]
/usr/local/apache/bin/apachectl -k start
fi
crontab -e
*/10 * * * * /usr/local/bin/cwrun.cron
그리고 어느 날 나 는 휴대 전화 에서 정말 이 메 일 을 받 았 다.급히 집 으로 달 려 가 서버 를 연결 해 서 비 스 를 점검 했다.apache 가 다시 시작 되 었 다 니.하하, 작은 공이 이 루어 졌 으 니 당분간 이렇게 하 자.나중에 높 은 사람 한테 물 어 볼 게 요.
다음은 로그 분할 스 크 립 트 입 니 다.
#!/bin/sh
#~ file: /usr/local/bin/loger.cron
#~ power by [email protected]
#~ blog: http://blog.csdn.net/yagas
#~ stop service
echo "httpd service stop..."
/usr/local/apache/bin/apachectl -k stop
sleep 2
#~ move log file
echo "move log file..."
mv /b2b/logs/*_log /tmp/logs/ > /dev/null 2>&1
#~ restart service
echo "httpd service start..."
/usr/local/apache/bin/apachectl -k start
YEAR=`date -d today +%Y-%m-%d`
tar -cjvf /backup/log/${YEAR}.tar.bz2 /tmp/logs
rm -f /tmp/logs/* > /dev/null 2>&1
echo "done";