Crontab에 등록된 shell 을 통한 데몬 실행이 되질 않습니다...도와주세요..

yahao의 이미지

일단 목적부터 기술하자면 한 프로세스가 꽤나 자주 뻗어버리는 현상이 있는관계로
프로세스의 상태를 체크해서 문제가 있다면 종료하고 다시 시작하는 shell을 작성했습니다.
분명 쉘만 독립적으로 실행해보면 문제없이 잘 동작하고 실행됩니다. 하지만..크론에 올려서 하면 실행이 안되네여..
프로세스를 새로 뛰우는 과정에 뭔가 제가 모르는 방법이 있을거같은데...

cron root에 등록했으며, 구문은 별거 없는 평범한 구문이고
* * * * * /home/batch/script/common/exec_sqlrelay_check.sh mysql 10 > /home/log/sqlrelay_check.log 2>&1

shell에서 문제가 발생하는 구문만을 발췌한 부분은 다음과 같습니다.

nForkedListener=`$sSqlrBinPath/sqlr-status -id mysql3 | grep 'Forked Listeners:' | gawk '{print \$3}'`
if [ -z $nForkedListener ]; then
`nohup /usr/local/firstworks/bin/sqlr-start -id mysql3 > /dev/null 2>&1 &`
fi

문제가 된 부분은
nohup /usr/local/firstworks/bin/sqlr-start -id mysql3 > /dev/null 2>&1 &
이 부분에서 실행이 된거같으면서도 일단 쉘이 끝남과 동시에 종료되버리는거같습니다. 아니면 쉘이 끝나기 전이던지..
쉽게말해서 그냥 실행이 되질 않습니다...
혹시 고수님들의 도움을 받을 수 있을까요..

쉘 안에서 새로운 데몬 프로세스를 띄운다던가 하는 별도의 방법이 있나요..?..

pynoos의 이미지

상관은 없지만 nohup 구문을 백틱으로 감싼는건 하지 않아도 됩니다.

커맨드라인과 cron에서의 환경변수의 차이를 살펴보세요.

yahao의 이미지

알고는 있지만 혹시나 싶어서 앞뒤로 다 써보고..
nohup만 써보고
&만 써보고 별 수를 다 해봤는데 안되서 답답해서 저렇게 써놨었네요...
결국 해결하진 못했습니다...미제가 남아서 씁쓸하네요..

환경변수는...일단 실행자체가 안된게 아니다보니...ㅠㅠ

답변감사드립니다.

백연구원의 이미지

환경변수가 언급된건..
1) sqlr-status
2) /usr/local/firstworks/bin/sqlr-start
3) nohup
4) 혹은 그 안에서 실행되는 무언가
때문입니다.

1번의 경우에는 경로가 없으니 생략하고 2번의 경우 커맨드라인에는 /usr/local/firstworks/bin 가 환경변수에 존재하고, crond 에는 없을수도 있고요.
3번은 가능성은 낮지만 절대경로가 필요할 수도 있고요

그리고
"
nohup /usr/local/firstworks/bin/sqlr-start -id mysql3 > /dev/null 2>&1 &
이 부분에서 실행이 된거같으면서도 일단 쉘이 끝남과 동시에 종료되버리는거같습니다.
"

확실히 실행되었는지 안되었는지 체크되는게 좋아보이네요.

PS
sqlr 관련 커맨드를 /usr/bin/ 으로 옮겨서 테스트 해보시는것도 의미 있을듯. (가능성이 높아보이네요)


소곤소곤

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.