crontab 에서 user 인식
글쓴이: amicus / 작성시간: 화, 2004/04/20 - 1:09오후
crontab으로 shell script를 실행시켜 apache와 tomcat을 restart 하려고 합니다. shell script에는 apache 와 tomcat 재실행하게 되어 있습니다.
apache는 root권한으로 설치되어 있고, tomcat은 일반유저로 설치되어 있습니다.( 왜 이렇게 설치했는지 이해 못하겠음. 열라 짜증남)
근데 crontab으로 shell을 실행시키면 apache만 실행됩니다.
물론 shell script를 직접실행하면 둘다 잘 실행 되져...
root 권한으로 crontab을 설정하면 그 shell이 root권한으로 실행되는거 아닌가요?
그리고 그 shell 안에 있는 다른 shell은 ( 일반유저권한) 어떻게 실행되는 건가요?
만약 user 문제라면 환경설정을 똑같이 하라고 하는데... PATH설정만 똑같이 하면 되나요?
Forums:
cron 실행이 실패하게 되면 로그가 남거나,아님 사용자에게 메일이
cron 실행이 실패하게 되면 로그가 남거나,
아님 사용자에게 메일이 날라오지 않나요?
그걸 보면 tomcat이 왜 실행이 안됐는지 알수있을
것입니다.
근데 apache는 root권한이 필요한 것이면
root의 crontab에
tomcat의 경우는 일반유저이므로
그 해당유저에 맞는 crontab에 설정해주면 되지 않나요?
그럴경우 아마 환경 문제(path설정)때문에 절대path로 적었던 기억이 남니다만...^^
VENI, VIDI, VICI - Caesar, Gaius Julius -
알아내었습니다.
crontab에서는 기존에 잡혀 있는 환경설정을 거의 무시하는 듯 합니다.
PATH 가 /usr/bin/bin 이렇게 밖에 잡혀 있지 않더군요..
그래서 톰캣 같은 경우, java 명령어가 필요한데..PATH가 잡혀 있지 않아
인식을 못한것 같습니다.
PATH를 export 시켜 주니까 정상적으로 작동하는 군요....
머 다 아시겠지만..저는 이것 때문에 고생 많이 했습니다..
코드 라인수도 겨우 20라인 안넘어가는 간단한 소스인데도 불구하고...고생했져.
혹시 리눅스를 처음 접하시는 분이 이글을 읽게 되면 도움이 되라고..허접하게나마 경험담을 올려 드립니다...
아마도 보안 문제로 환경변수를 거의 새로 세팅하는 거로 알고 있습니다.
아마도 보안 문제로 환경변수를 거의 새로 세팅하는 거로 알고 있습니다.
man 5 crontab 해보세요.
이렇게 나와 있군요
답변 아주 감사합니다..
답변 달아주셔서 감사합니다..
리눅스를 처음 접해보는거라 허접한게 많네요..
그냥 에러로그 보는 법이라도 알았더라면, 쉽게 알았을 텐데...
첫번째 답글 달아주신분 덕분에 PATH설정다시 해서 성공했구요..
두번째 답글 달아주신분 덕분에... 개념 잡았습니다..
spec이나 도움말을 자주 보는 습관을 들여야 하는데....아직 허접한지라...
댓글 달기