2013-10-18 4 views
2

터미널에서 벨로우즈 코드를 직접 실행하면 완벽하게 작동합니다.Crontab + 우분투 + java가 작동하지 않습니다.

/usr/bin/java -jar /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar 

하지만 우분투 서버에서 crontab과 동일하게 설정하면 작동하지 않습니다.

*/3 * * * * /usr/bin/java -jar /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar 

예기치 않은 동작을하는 이유는 무엇입니까?

+0

정의하십시오 항아리가 실행되지 않는 의미에서 – jzd

+0

@jzd를 '작동하지 않는'. –

답변

1

crontab 작업은 호출을 테스트하는 사용자와 다른 사용자로 실행됩니다. JBoss는 그 환경에서 정의되지 않은 여러 환경 변수에 의존합니다. 따라서 특정 JAR이 환경에서 필요로하는 것을 찾아내어 cron 작업 (cron에서 직접 java을 실행하는 대신)에서 실행하는 쉘 스크립트에 추가하십시오.

+0

나는 쉬 파일에 /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar 지금의 crontab에 다음 코드를 추가 -jar 는/usr/빈/자바를 다음 만든 */3 * * * * sh /var/jboss-as-7.1.1.Final/standalone/email_linux/startup.sh 하지만 어떻게 작동하지 않는지. 환경 변수 목록을 설정 경로에 알리는 방법 – vishal

+0

쉘에서 정의 된 변수로 시작하고, 모든 것이 작동하며, JBoss 및/또는 Java 관련 항목을 찾습니다. –

0

jar 파일과 읽기 파일이 같은 디렉토리에 있더라도 파일을 읽거나 쓰는 경우 절대 경로를 소스 코드에 포함했는지 확인하십시오.

0

그것은 절대 경로를 지정 후 해결

관련 문제