cron 큐잉 bash 및 python 스크립트
저는 현재 제 macbook pro의 crontab 대기열을 이해하고 익숙해지기를 원합니다. 최근에 간단한 bash 스크립트가 실행되지 않는 문제를 해결했습니다. bash 스크립트와 해당 출력을 /Users/myusername/경로 로 이동해야했습니다 . 내가 /Users/myusername/Desktop/. 이 게시물은 여기에서 찾을 수 있습니다.https://stackoverflow.com/questions/64110897/simple-bash-script-doesnt-cron-properly?noredirect=1#comment113370465_64110897
내 질문 : 모든 bash 및 python 스크립트가 /Users/myusername항상 경로에 있어야 합니까? 해결 방법이 없습니까?
답변
질문:
내 질문 : 모든 bash 및 python 스크립트가
/Users/myusername항상 경로에 있어야 합니까? 해결 방법이 없습니까?
대답:
아니요. 원하는 곳에서 bash 및 python 스크립트를 찾을 수 있습니다. 그러나 추가 요구 사항이 있습니다 .
- 당신의
cron작업은 다른 실행 환경 당신이 그들을 실행할 때보다 더; 예 :$PATH. 따라서에서 스크립트를 지정 하려면 전체 경로 사양 을 사용해야 합니다crontab. 예를 들어 사용 :
* * * * * /opt/local/bin/python3 /some/dir/you/choose/myscript.py
- 내 Mac (Catalina)에서 "전체 디스크 접근"권한을
cron. 다른 OS 버전의 YMMV. 방법은 다음과 같습니다.
System Preferences -> Security & Privacy -> Privacy 탭 :
- 동안 적어도 디버깅 당신의
cron일을, 어떤 오류 메시지 (리디렉션 고려해야stderr파일로를) - 그렇지 않으면에서 바람을/dev/null하는 것은 도움이되지 않습니다! 위의 예를 계속합니다.
* * * * * /opt/local/bin/python3 /some/dir/you/choose/myscript.py >> /Home/<username>/MyCronLog.txt 2>&1
요소에 대한 권한을 부여하고 모든 것에 대해 전체 경로를 사용하는지 확인해야 할 수도 있습니다. 대화 형 셸에있을 때 스크립트가 실행된다고해서 제한된 셸에서 올바른 것은 아닙니다.
다음은 최근 질문에 대한 슈퍼 디버깅 팁 입니다.
- cron 및 "명령을 찾을 수 없음"
- cronjobs가 실행되지 않습니다
- cron을 통해 스크립트를 실행하려고 할 때 알 수없는 명령 오류 발생