python
웹사이트를 확인하고 결국 이메일을 보내는 스크립트를 작성했습니다 . 라즈베리파이에 스크립트를 복사해서 ssh
실행하니 잘 작동하네요. 하지만 crontab을 통해 실행하라고 하면 실행되지 않습니다. 시스템 로그에서 스크립트가 실행된 것을 볼 수 있지만 다음 오류가 발생합니다.
Apr 2 14:25:01 raspberrypi CRON[28850]: (pi) CMD (sudo /usr/bin/python3 /home/pi/Desktop/Script/main.py >> /home/pi/Desktop/Script/log.txt)
Apr 2 14:25:04 raspberrypi sSMTP[28854]: Unable to connect to "smtp.cablelink.at" port 587.
Apr 2 14:25:04 raspberrypi sSMTP[28854]: Cannot open smtp.cablelink.at:587
Apr 2 14:25:04 raspberrypi cron[430]: sendmail: Cannot open smtp.cablelink.at:587
Apr 2 14:25:04 raspberrypi CRON[28849]: (pi) MAIL (mailed 220 bytes of output but got status 0x0001 from MTA#012)
crontab 항목은 다음과 같습니다:
* * * * * /usr/bin/python3 /home/pi/Desktop/Scrabber/main.py >> /home/pi/Desktop/Scrabber/log.txt
사용자로 crontab이 실행되는 모습과 명령어를 pi
사용하는 모습을 볼 수 있기 때문에 권한 문제는 아닌 것 같습니다 .ssh
미리 감사드립니다.
답변1
방금 무슨 일이 일어났는지 알아냈습니다. 문제는 내 Python 스크립트에 open('logfile.txt')이라는 링크가 있다는 것입니다. ssh를 사용할 때 작동하지만 cronjob에는 open('home/..../logfile.txt')과 같은 전체 경로가 필요합니다.
이제 괜찮아! ! 예