이전 파일을 바꾸지 않고 프로그래밍 방식으로 새 crontab 파일을 추가하는 방법

이전 파일을 바꾸지 않고 프로그래밍 방식으로 새 crontab 파일을 추가하는 방법

저는 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

cron에 항목을 추가하는 스크립트를 작성하려면(텍스트 편집기를 사용하지 않고 crontab -e) 다음과 같습니다.

  • crontab -l임시 파일로 실행
  • 최신 명령이 이미 파일에 있는지 확인하십시오. 그렇다면 중지하십시오.
  • 임시 파일에 최신 명령 추가
  • crontab예약된 명령을 대체하려면 임시 파일을 인수로 사용하여 실행하세요.

참고로:

답변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!변경 사항을 저장하세요.

관련 정보