cron
Python 스크립트를 루트로 어떻게 실행할 수 있나요 ? 이것은 내 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 python
python
PATH
/usr/bin
PATH
python
/usr/local/bin
PATH=/usr/local/bin:/bin:/usr/bin
또한 스크립트가 실행 가능한지 확인하십시오( chmod +x …/twitter.py
).