2013-06-05 6 views
0

내가 EC2 인스턴스에서 스크립트의 cronjob에를 실행하려고하지만, 단순히 내가 지금 그것을 실행하고 방법은문제 EC2 인스턴스

15 * * * * root /home/ec2-user s3_upload.sh TestBucket 
입니다 을 작동하지 않습니다 내가

지금 내가이 디렉토리/홈/EC2 사용자에 AM/그래서 아마 이유가 실행 중이 함께 할 수있는 뭔가가 있다면 나도 몰라의 crontab -e를했을 때

나는이 썼다.

이 전체 cron 문제와 권한 작동 방식을 이해하지 못했습니다.

도움을 주시면 대단히 감사하겠습니다.

+0

매뉴얼 페이지를 살펴보십시오.'man crontab','man cron' – devnull

+0

구문이 올바르지 않습니다. 당신의 의도는 무엇입니까? 그 디렉토리에 cd하고 .sh 파일을 실행 하시겠습니까? –

+0

예 해당 디렉토리로 이동하여 s3_upload.sh 스크립트를 실행하고 싶습니다. – user2442230

답변

1
  1. /etc/crontab에, 사용자의 crontab에서 사용자 이름을 지정할 수 없습니다.

  2. crontab의 형식으로 디렉토리를 지정할 수 없습니다. 디렉토리를 변경하려면 cd를 사용하십시오.

  3. 환경이 동일하지 않습니다. 예 : .bashrc에 PATH를 설정하면 자동으로 포함되지 않으므로 전체 경로를 사용하는 것이 가장 안전합니다. 루트로

당신이 루트에 명령을 복사하여 붙여 넣을 수 있는지 확인하십시오, crontab -e을 실행하고

15 * * * * cd /home/ec2-user && /full/path/to/s3_upload.sh TestBucket 

를 추가 (루트가 아닌 EC2 사용자 또는 무언가로이 작업을 실행하려면 가정) 터미널을 열고 작동하게하고 나중에 루트 메시지를 읽으면 가능한 오류 메시지가있는 명령의 출력을 확인하십시오. 그래도 작동하지 않으면 이러한 오류를 사용할 수 있는지 확인하십시오.

+0

나는 이것을 실행 해 보았지만 여전히 작동하지 않았다, 나는 루트라고 생각지 않는다. 만약 내가 루트가 아니면 어떻게 할까? – user2442230

+0

스팸을 계속해서 유감스럽게 생각하지만 저는이 녀석이/home/ec2-user와 다른 디렉토리의 파일들과 상호 작용할 수 있도록 모든 멍청한 놈입니다./home/ec2-user에서 스크립트를 실행하면 작동하지만 크론 작업은하지 않습니다. 도와 주셔서 대단히 감사합니다 !! – user2442230

+0

s3_upload.sh 명령을 실행하기 전에'whoami'를 입력하여 실행중인 사용자를 확인하십시오. 그런 다음'crontab -e'를 추가하고 이것을 추가하십시오 (현재 사용자의 crontab에 추가됩니다). 'mail'을 사용하여 사용자의 메일을 검사하여 실행 된 오류 메시지를 볼 수 있습니다. –