컴퓨터/아두이노 라즈베리파이

리눅스)crontab으로 python파일 주기적으로 실행시키고 log남기기

우유식빵 2022. 12. 11. 22:18

작업환경:  라즈비안 리눅스  (라즈베리파이4) 근데 걍 데비안이랑 거의 똑같음.

근데 우분투환경도 설정은 똑같을듯

 

1. crontab 설치

    $sudo apt-get install cron

2. crontab -e 로 설정

3. 로깅하기

crontab -e에서 적은 내용 확인하려면 crontab -l하면됨

실행파일 >> 로그파일 2>&1 하면 로그파일에 로깅할 수 있음.

4. 에러 수정

로깅 문제1 ) 로그를 보니 /bin/sh: 1: /home/pi/challenge100/test.py: Permission denied 에러 발생

                    python 파일을 실행을 못함 > python파일의 권한을 실행도 가능하도록 바꿔줌

                    $ chmod 775 file.py

 

로깅 문제2 ) SyntaxError: invalid syntax 에러발생. python 문법을 실행을 못시킴

                   로그를 보니 import: not found 라고함 > script에 python이라는걸 명시시킴 

                    python파일 맨위에 #!/usr/bin/env python 추가

 

로깅 문제3 ) 로그를 보니 SyntaxError: Non-ASCII character '\xec' 에러 발생

                    utf8을 인식 못함 > utf8을 사용한다고 명시시킴

                    python파일 맨위에 # -*- coding: utf-8 -*- 추가

 

로깅 문제4 ) 그냥 python으로 실행시키면 되는 파일인데 자꾸 syntax error라고함. 혹시 python2로 실행되고있는건가 싶음

                    python파일 맨위에 #!/usr/bin/env python3 으로 변경 

 

위 과정을 거쳐서 결국 잘 출력됨을 확인.