crontab을 통해 Python 스크립트 실행
linux crontab을 사용하여 파이썬 스크립트를 실행하려고하는데 많은 솔루션을 찾았지만 작동하지 않습니다. 예 : /etc/cron.d에서 anacron을 편집하거나 crontab -e를 사용하십시오.
이 스크립트를 10 분마다 실행하고 싶습니다.
이를 구성하려면 어떤 파일을 편집해야합니까?
미리 감사드립니다
편집하다
이 줄을 파일 끝에 넣었지만 아무것도 변경하지 않습니다. 서비스를 다시 시작해야합니까?
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py
편집 [2]
여러분, 저는 소스 코드를 따랐습니다. 여기에 문제가있을 수 있지만 수동으로 실행하면 작동합니다.
crontab -e를 사용하고 여기에서 자습서를 따르십시오.
http://adminschoice.com/crontab-quick-reference
빈도를 지정하는 방법에 대한 지침은 3 번 지점을 참조하십시오.
요구 사항에 따라 효과적으로 다음과 같아야합니다.
*/10 * * * * /usr/bin/python script.py
다음으로 foo.py
시작 하는 파일에 스크립트를 넣으십시오.
#!/usr/bin/python
그런 다음 사용하여 해당 스크립트에 실행 권한을 부여하십시오.
chmod a+x foo.py
foo.py
파일 의 전체 경로를 crontab
.
shebang을 처리하는 execve (2)의 문서를 참조하십시오.
언급했듯이 아무것도 변경하지 않습니다 .
먼저 아래와 같이 crontab 실행에서 stdin과 stderr을 모두 리디렉션해야합니다.
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py > /tmp/listener.log 2>&1
그런 다음 파일 /tmp/listener.log
을보고 스크립트가 예상대로 실행되었는지 확인할 수 있습니다.
둘째, 프로그램에서 만든 파일을 보는 것이 무엇이든 변경 한다는 의미를 추측 하십시오.
f = file('counter', 'r+w')
json_file = file('json_file_create_server.json','r+w')
위의 crontab 작업 /home/souza/Documets/Listener
은 cron 작업이이 디렉토리에서 실행되지 않고 프로그램에서 상대 경로를 사용하므로 디렉토리에 이러한 파일을 생성 하지 않습니다. 따라서 디렉토리에 이러한 파일을 생성 /home/souza/Documets/Listener
하려면 다음 cron 작업이 트릭을 수행합니다.
*/2 * * * * cd /home/souza/Documets/Listener && /usr/bin/python listener.py > /tmp/listener.log 2>&1
작업 디렉토리로 변경하고 거기에서 스크립트를 실행하면 그 자리에서 생성 된 파일을 볼 수 있습니다.
참고 URL : https://stackoverflow.com/questions/8727935/execute-python-script-via-crontab
'Programing' 카테고리의 다른 글
Dart에서 "const"와 "final"키워드의 차이점은 무엇입니까? (0) | 2020.10.08 |
---|---|
Eclipse에서 svn으로 잘못된 변경 사항 롤백 (0) | 2020.10.08 |
Vim Surround는 단어 주위에 추가 공간을 삽입합니다. (0) | 2020.10.07 |
문자열이 비어 있지 않거나 쉘 스크립트에서 공백이 아닌지 확인하십시오. (0) | 2020.10.07 |
앱 그룹을 사용하여 앱간에 데이터 통신 및 유지 (0) | 2020.10.07 |