쉘 스크립트 고수분을 찾습니다 ㅠㅠ

쉘 스크립트 고수분을 찾습니다 ㅠㅠ

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

쉘 스크립트 고수분을 찾습니다 ㅠㅠ

본문

몇일 간격으로 이유를 알수 없이 DB 가 끊기는 현상이 발생합니다.

이유를 알아낼때까지는 DB가 끊겼을때 자동으로 재 시작하는 쉘 스크립트를 만들려고 했습니다.

 

#!/bin/bash

mysqlCheck=`pgrep mysql | wc -l`

if [[ $mysqlCheck == "0" ]]; then
        echo mysql is string
elif [[ $mysqlCheck -eq 0 ]]; then
        echo mysql is integer
else
        echo othertype
fi

 

문제는 if 문 걸리는 곳에서 /etc/init.d/mysqld start  만 넣어주면 끝이라 생각했는데,

mysqlCheck 변수를 찍어보면 2 가 나와서 othertype 이 찍힙니다. 

DB가 끊긴 상태라 0 이 나와야 하는데, 무조건 2가 나오네요...

 

제가 어떤 실수를 한걸까요? 많은 분들의 애정어린 답변 구합니다. ㅠㅠ 살려주세요

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 3

채택됨

조빠라라님의 답변

어찌 어찌 해결은 했습니다;;

if [[ $(pgrep mysql | wc -l) = 0 ]];
then
    /etc/init.d/mysqld restart
fi

 

다만, crontab 에서 스크립트 경로 앞에

/bin/bash 를 넣어야 되더군요.

* * * * * /bin/bash /path/is/script.sh

주소복사
답변의 댓글

마스타님의 답변

2가 나온다는 것은 데몬이 죽지 않고 살아 있는 것 아닐까요?

디비 연결만 안되는 것이고, mysql 서비스는 떠 있을 것으로 생각됩니다. 

 

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 81,287 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. 특정 회원 포인트내역 통합(정리)하기

    참여3 회 시작19.12.06 22:31 종료19.12.13 22:31
  2. [잔액관리형] 아웃백디지털상품권 10만원권 3장

    참여87 회 시작19.12.06 00:03 종료19.12.11 00:03

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT