문제

나는 수출을 시도했는 나로 변수 및 crontab 아직도 실행되지 않습니다 스크립트입니다.가하고 뭔가 잘못입니다.

나는 쉘 스크립트를 실행하는 jar 파일입니다.이것이 제대로 작동하지 않습니다.

을 읽은 후 주위에 내가 이것을 읽는 일반적으로 때문에 잘못된 경로로 인한 크론 실행을 통해 자신의 포탄 인스턴스 이유와 상관없이,동일한 설정 기본 설정으로 내 프로필 않습니다.

여기에는 어떤 스크립트처럼 보이는 오늘 여러 가지 수정 사항:

#!/bin/bash --

. /root/.bash_profile

/usr/bin/java -jar Pharmagistics_auto.jar -o

...

사람들은 가장 중요한 조각을 스크립트의 나머지 부분에는 간단한 포탄 기반으로합니다.

할 수 있는 누군가가 나에게 내가 뭘 잘못입니까?

도움이 되었습니까?

해결책

려고의 전체 경로를 지정하 jar file:

/usr/bin/java -jar /path/to/Pharmagistics_auto.jar -o

다른 팁

난 그냥 당신에게 무엇이 있는 이미 지배 아웃:체크인의 경로와 환경.

기 때문이 있 인동작 외 수행하는 이 시작하여 디버깅할 수 있습니다.같이 쓰는 체크포인트는 로그파일을 얼마나 멀리하는 스크립트가(면도에서 시작 모두)체크 cron 작업에 대한 로그 파일 오류를 확인 메일을(크론 보내는 메일에 오류가)및...

매우 특정,죄송합니다.

"내보내기 내로 변수는"일하지 않을 것이기 때문 crontab 실행되는 다른 쉘에서 다른 사용자에 의해.

또한,가 확실하지 않은 경우 오타를 입력 방법,질문에만 참조하십시오:

usr/bin/java

...내가 도울 수 없어요 하지만 당신이 지정하는 완전한 경로에 있습니다.그리고 디렉토리에 대한 이름이"usr"현재 작업 디렉토리에 있습니다.Oft 시간 crontab,cwd 가 정의되지 않은,그러므로 당신의 참고가 아무데도 없습니다.

도 지정하여 전체 경로에서 root 아래와 같이:

/usr/bin/java

또는,당신이보고 싶은 경우의 예를 들어 상대적인 경로에서 작업할 수 있도:

cd /

usr/bin/java

몇 가지 생각입니다.

  1. 제거 -- 후에 #!/bin/bash
  2. 는지 확인하는 직접적인 스크립트 출력에 의해 보 cron 메일 또는 다른 곳에는 볼 수 있습니다(예:MAILTO=desiredUser)
  3. 지 확인하는 스크립트를 실행 및으로 차단되지 않은 다른 길-실행하는 스크립트가(예를들면에서 두 번째 라인에 추가 touch /tmp/MY_SCRIPT_RAN && exit)
  4. 디버깅을 사용하여 스크립트 set -xset -v 당신이 알고있는 한 그것은 실제로 실행

당신이 정의는 필요한 경로 및 환경변수는 당신의 개인합니다.프로필(또는 다른 스크립트)?당신은 시도를 소싱하는 특별한 파일(또는 그 무엇을 하고 있으로 이미/root/.bash_profile?)

다른 방법으로의 요청 이 있습니다:당신은 특정 무엇이 필요한 경로 및 환경변수는 당신이 기대에 실제로 사용할 수 있습니까?

아무것도 다른 경우,당신은 시도 echo'ing 개인 값을 사용하여"env"명령은 스크립트를 검토하는 stdout?

제공의 전체 경로로 jar 파일,그리고 무엇이 사용자 실행하고 있습 crontab 니까?만약 당신이 그것을 설정를 위해 정상적인 사용자,당신이 생각하는 사용자가 권한을 소스 루트의 프로필?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top