우분투(EC2 AWS 인스턴스)에 crontab이 있습니다. 매 시간마다 다른 Python 스크립트를 실행합니다. 모든 Python 스크립트는 /home/ubuntu/bandsintown
via 에서 덮어쓰여진 파일로 끝납니다 writeJSON.write
. 나는 스크립트가 작업을 완료한 후에 호출합니다 pkill chrome
(셀레늄 스크립트이고 많은 메모리를 차지합니다). 다음과 같은 예약된 작업:
0 15 * * * /usr/bin/python3.6 /home/ubuntu/bandsintown/SF.py ; pkill chrome ; pkill -f "(chrome)?(--headless)" >> /home/ubuntu/bandsintown/cron.log 2>&1
0 16 * * * /usr/bin/python3.6 /home/ubuntu/bandsintown/NYC.py ; pkill chrome ; pkill -f "(chrome)?(--headless)" >> /home/ubuntu/bandsintown/cron.log 2>&1
0 17 * * * /usr/bin/python3.6 /home/ubuntu/bandsintown/Austin.py ; pkill chrome ; pkill -f "(chrome)?(--headless)" >> /home/ubuntu/bandsintown/cron.log 2>&1
0 18 * * * /usr/bin/python3.6 /home/ubuntu/bandsintown/Chicago.py ; pkill chrome ; pkill -f "(chrome)?(--headless)" >> /home/ubuntu/bandsintown/cron.log 2>&1
0 19 * * * /usr/bin/python3.6 /home/ubuntu/bandsintown/Denver.py ; pkill chrome ; pkill -f "(chrome)?(--headless)" >> /home/ubuntu/bandsintown/cron.log 2>&1
처음 두 스크립트만 SF.py and NYC.py
crontab()을 통해 실행되며 모든 py 스크립트는 사실상 동일합니다.
내가 시도한 것:
모든 스크립트가 수동으로 실행되는지 확인하세요.
커서가 cron 스크립트 뒤에 있는지 확인하십시오(권장 사항).여기).
.py 스크립트를 수동으로 호출
chmod 775
하고 JSON(Python 스크립트의 출력)을 출력합니다. 디렉토리에서 를 사용하면ls
모든 스크립트와 출력 파일이 녹색으로 강조 표시됩니다. 이는 긍정적인 것 같습니까?cron 결과를 로그에 기록하려고 시도했지만 빈 파일만 출력됩니까?
우분투에서 저장 공간을 다시 확인했는데 명백한 문제는 없습니다.
/dev/nvme0n1p1 7.7G 4.8G 3.0G 63% /
(아래 참조) 크론 로그를 조사해 보면
journalctl -u cron.service
아무런 위험 신호도 발생하지 않습니다.
감사해요.
Jul 26 17:00:01 ip-172-31-31-200 CRON[2777]: pam_unix(cron:session): session opened for user ubuntu by (uid=0)
Jul 26 17:00:01 ip-172-31-31-200 CRON[2778]: (ubuntu) CMD (/usr/bin/python3.6 /home/ubuntu/bandsintown/Austin.py ; pkill chrome ; pkill -f "(chrome)?(--headles
Jul 26 17:07:06 ip-172-31-31-200 CRON[2777]: (CRON) info (No MTA installed, discarding output)
Jul 26 17:07:06 ip-172-31-31-200 CRON[2777]: pam_unix(cron:session): session closed for user ubuntu
Jul 26 17:17:01 ip-172-31-31-200 CRON[2896]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 26 17:17:01 ip-172-31-31-200 CRON[2896]: pam_unix(cron:session): session closed for user root
Jul 26 18:00:01 ip-172-31-31-200 CRON[3244]: pam_unix(cron:session): session opened for user ubuntu by (uid=0)
Jul 26 18:00:01 ip-172-31-31-200 CRON[3245]: (ubuntu) CMD (/usr/bin/python3.6 /home/ubuntu/bandsintown/Chicago.py ; pkill chrome ; pkill -f "(chrome)?(--headle
Jul 26 18:05:51 ip-172-31-31-200 CRON[3244]: (CRON) info (No MTA installed, discarding output)
Jul 26 18:05:51 ip-172-31-31-200 CRON[3244]: pam_unix(cron:session): session closed for user ubuntu
Jul 26 18:17:01 ip-172-31-31-200 CRON[3525]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 26 18:17:01 ip-172-31-31-200 CRON[3525]: pam_unix(cron:session): session closed for user root
Jul 26 18:44:01 ip-172-31-31-200 cron[826]: (ubuntu) RELOAD (crontabs/ubuntu)
Jul 26 19:00:01 ip-172-31-31-200 CRON[3901]: pam_unix(cron:session): session opened for user ubuntu by (uid=0)
Jul 26 19:00:01 ip-172-31-31-200 CRON[3902]: (ubuntu) CMD (/usr/bin/python3.6 /home/ubuntu/bandsintown/Denver.py ; pkill chrome ; pkill -f "(chrome)?(--headles
Jul 26 19:03:02 ip-172-31-31-200 CRON[3901]: (CRON) info (No MTA installed, discarding output)
Jul 26 19:03:02 ip-172-31-31-200 CRON[3901]: pam_unix(cron:session): session closed for user ubuntu
Jul 26 19:17:01 ip-172-31-31-200 CRON[4013]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 26 19:17:01 ip-172-31-31-200 CRON[4013]: pam_unix(cron:session): session closed for user root
고쳐 쓰다:
pkill
명령이 출력될 뿐만 아니라 Python 스크립트에 문제가 있는 것 같 도록 출력을 리디렉션했습니다 .
Traceback (most recent call last):
File "/home/ubuntu/bandsintown/LA.py", line 401, in <module>
with open("/home/ubuntu/bandsintown/LA_events.json", "w") as writeJSON:
PermissionError: [Errno 13]
이 문제를 해결하는 방법 chmod
이 있습니까?