Digital Ocean에서 Ruby 코드를 실행하는 cron 작업을 만들려고 하는데 실수를 한 것 같습니다. 오류가 발생하지 않지만 아무 작업도 수행하지 않습니다. 내 라즈베리 파이에서 이 cronjob을 실행했지만 디지털 바다에서는 작동하지 않습니다. 이건 내 예정된 작업이야
59 17 * * * ruby /home/workspace/delta/analytics/analyze.rb 7 >> /home/testruby
testruby 파일을 생성하지만 analyze.rb 7이 작동하지 않습니다. ruby /home/ ....을 실행하여 테스트했는데 작동합니다. 무엇이 문제일까요?
고쳐 쓰다
오류 파일: bin/sh: 1: /usr/local/bin/ruby: 찾을 수 없음
이것은 내가 crontab에 쓴 것입니다.
* * * * * /usr/local/bin/ruby /home/workspace/deriva/analytics/analyze.rb 7 >> /home/testruby 2>&1
답변1
다양한 환경 변수, 작업 디렉토리...analyze.rb를 디버그해야 하는 정확한 위치.
첫째, 표준 오류가 아닌 표준 출력만 리디렉션하고 있습니다. 나중에 오류가 발생할 수 있으므로 2>&1
끝에 를 추가하면 많은 도움이 될 수 있습니다. 또는 EMAIL=
crontab 상단에 설정하여 메일로 받을 수도 있습니다.
Ruby 스크립트 시작 부분에서 Ruby가 시작되거나 유사한 것을 확인 print "starting!\n"
하고 로그 파일에 나타나는지 확인할 수 있습니다.