![이전 파일을 바꾸지 않고 프로그래밍 방식으로 새 crontab 파일을 추가하는 방법](https://linux55.com/image/76795/%EC%9D%B4%EC%A0%84%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B0%94%EA%BE%B8%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EB%B0%A9%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EC%83%88%20crontab%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 Raspberry Pi(OS - Raspbian)를 사용하여 소규모 홈 자동화 프로젝트를 개발 중입니다.
crontab -e
?의 이전 항목을 바꾸지 않고 python-crontab 모듈을 사용하여 여러 crontab 파일을 추가하는 방법을 알고 싶습니다 .
두 개의 Python 스크립트를 프로그래밍 방식으로 예약하고 싶습니다(수동으로 crontab -e
파일을 추가하지 않고도). 첫 번째 스크립트는 5분마다 실행되고 다른 스크립트는 2분마다 실행됩니다.
python-crontab 모듈을 사용하여 첫 번째 스크립트를 성공적으로 예약했지만 두 번째 스크립트를 예약하면 crontab -e
.
crontab 스케줄링의 다른 방법이 있다면 샘플코드와 함께 제안해주세요 :)
참고:- 수동으로 추가하는 대신 Python 스크립트만 사용하여 crontab에서 Python 스크립트를 예약하고 싶습니다 crontab -e
.
답변1
답변2
crontab은 결국 텍스트 파일이므로 텍스트를 직접 추가하는 것은 어떨까요?
with open("/var/spool/cron/crontabs/john", "a") as ctfile:
ctfile.write("1 0 * * 3 /path/to/newcommand --option")
답변3
crontab -e
실제로 모든 cronjob을 나열하는 파일입니다.
입력하면 crontab -e
이전 cronjob 및 틸다( ) 목록이 표시됩니다 ~
.
키보드의 삽입 버튼을 눌러 모드를 전환한 다음 마지막 cronjob이 끝나면 Enter를 누릅니다.
tilda가 삭제되고 여기에 새 cronjob을 작성할 수 있습니다.
삽입 모드를 종료하려면 Esc 키를 누르고 Enter 키를 눌러 :wq!
변경 사항을 저장하세요.