cron이 python 스크립트를 루트로 실행하게 만드는 방법은 무엇입니까?

cron이 python 스크립트를 루트로 실행하게 만드는 방법은 무엇입니까?

cronPython 스크립트를 루트로 어떻게 실행할 수 있나요 ? 이것은 내 crontab 파일입니다.

0 * * * * ./twitter/twitter.py

내가 뭐 잘못 했어요?

답변1

이것이 루트의 crontab( sudo crontab -u root -e또는 su -c 'crontab -u root -e'이와 유사한 방법으로 편집됨) 인 경우 ./twitter/twitter.py매시간 실행됩니다. 시스템 crontab( /etc/crontab)인 경우 별표 뒤에 여섯 번째 필드가 필요합니다 0 * * * * root …. 루트 사용자의 crontab을 사용하고 시스템 crontab은 시스템에 남겨 두는 것이 좋습니다.

./twitter/twitter.py현재 디렉터리에서 시작합니다. Cron은 현재 디렉토리가 무엇인지 추측할 수 없습니다. 절대 알려주지 않습니다. 스크립트에 대한 절대 경로를 사용하려면 이 설정을 변경하세요 /home/paul/scripts/twitter/twitter.py.

(Python 스크립트라고 가정합니다)로 시작하고 cron의 기본값에 있는지 확인해야 합니다 twitter.py(이는 유닉스 브랜드에 따라 다릅니다. 기본값으로 되어 있는지 확인할 수 있지만, 예를 들어 다른 곳에 있는 경우에는 행(예: crontab 상단의 행)을 추가해야 할 수도 있습니다.#!/usr/bin/env pythonpythonPATH/usr/binPATHpython/usr/local/binPATH=/usr/local/bin:/bin:/usr/bin

또한 스크립트가 실행 가능한지 확인하십시오( chmod +x …/twitter.py).

관련 정보