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

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

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 서비스는 떠 있을 것으로 생각됩니다. 

 

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

회원로그인

진행중 포인트경매

  1. 스타벅스 e-Gift Card (100,000원)

    참여62 회 시작19.08.16 09:15 종료19.08.23 21:15
  2. 댓글 이미지 첨부 게시판

    참여21 회 시작19.08.14 23:33 종료19.08.21 23:33

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

© SIRSOFT