그냥 어떻게 작동하는지 데모를하는 것이 아래로
경우를 MySQL의 포트를 모니터하고 다시 시작 떠들썩한 파티 스크립트를 사용
nc 명령은 포트 3306 (mysql 포트)이 연결 가능한지 확인합니다. 그러면 $? 0으로 설정되어 있으므로이 값은 "up"으로 계산됩니다. 그렇지 않으면 $? 내려왔다. 당신은 아무것도하지 않고 MySQL의 명령
while [ 1 ]
do sleep 1
nc -z localhost 3306
if [ $? == 0 ]; then echo "up"
else echo "down"
fi
done
에게이
while [ 1 ]
do sleep 10
nc -vz localhost 3306
if [ $? != 0 ]; then /opt/lampp/lampp restart
fi
done
처럼 보일 수있다 사용할 수있는 실제 버전을 실행하려고하는 예를 echo "select 1;" | mysql
를 들어, 대신 "NC"다른 명령을 사용하실 수 있습니다 이
01처럼 크론에서 실행 한 후 괜찮을 것 1 분의 시간 간격을 증가시킬 수있는 경우이 연중 무휴
을 (어쩌면 너무 "화면"명령을 사용하여) 열린 창을 떠나 실행할 수 있습니다 crontab을에서 23,516,
#!/bin/bash
nc -vz localhost 3306 > /dev/null 2>&1
if [ $? != 0 ]; then /opt/lampp/lampp restart
fi
당신은 서버가있는 경우 모든 X 분을 확인하는 스크립트가 필요합니다, 당신은 항상 간격 (검사 사이의 시간)의 비트와 함께 결국 줘야 해. 프로세스가 아직 실행 중이며 연결할 수 없습니다. 10 초마다 확인하는 것은 좋은 계획처럼 보이지 않습니다 (전혀). 당신은 또한 다른 문제들을 위험에 빠트 렸습니다, 나는 더 많은 기억을 선택할 것입니다. 스크립팅으로 해결하지 마십시오 ... 더 큰 인스턴스로 이동하십시오. – Roger