1.同事跑了一个php的抓取, 这个会导致非常高的sleep,大概到好几千的水平.进而mysql会down掉. 写了个crontab #crontab -e * */1 * * * /sh/detect_php.sh detech_php 的内容 #!/bin/bashhost_dir=`cd /sh`proc_name=mysqlbug_time=`date -R`pid=0proc_num(){n
1.同事跑了一个php的抓取, 这个会导致非常高的sleep值,大概到好几千的水平.进而mysql会down掉.
写了个crontab
#crontab -e
* */1 * * * /sh/detect_php.sh
#!/bin/bash host_dir=`cd /sh` proc_name="mysql" bug_time=`date -R` pid=0 proc_num() { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } proc_id() { pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'` } proc_num number=$? if [ $number -eq 0 ] then ./restart_php_mysql.sh proc_id echo " Kill the php and new mysql pid is : ${pid} : ${bug_time} " >> php_mysql.log 2>&1 else proc_id echo " The mysql is working , ${bug_time} " >> php_mysql.log 2>&1 echo "it's ok!" fi
脚本解释,这个脚本非常简单的. 就是判断mysql进程是否为0, 如果为0,那么就去杀掉php,然后重启mysql.并且写入一个日志.
restart_php_mysql.sh 的内容
#!/bin/sh killall -9 php service mysql restart
pkill会导致脚本在杀完进程后直接terminated. 所以这里不使用pkill.
改进的
#!/bin/bash host_dir=`cd /sh` log_dir="/var/log/php_mysql_log/" proc_name="mysql" bug_time=`date -R` pid=0 now_time=`date +%F` log_file="${log_dir}${now_time}.log" log_detect() { if [ ! -d "$log_dir" ]; then mkdir "$log_dir" fi if [ ! -f "$log_file" ] then touch "$log_file" fi } proc_num() { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } proc_id() { pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'` } proc_num number=$? if [ $number -eq 0 ] then ./restart_php.sh proc_id log_detect echo " Kill the php and new mysql pid is : ${pid} : ${bug_time} " >> ${log_dir}${now_time}.log 2>&1 else proc_id log_detect echo " The mysql is working ,${pid} : ${bug_time} " >> ${log_dir}${now_time}.log 2>&1 echo "it's ok!" fi更新的内容就是把日志按照时间来创建.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

드림위버 CS6
시각적 웹 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
