테스트 / 디버깅을 위해 어떻게 cron을 작업으로 실행할 수 있습니까? 일정을 바꾸지 않고! 외에 매일 실행되도록 예약

일정을 변경하는 것 외에 매일 실행되도록 예약 된 cron 작업이 있는데, 명령이 제대로 작동하는지 확인하기 위해 현재 명령의 테스트 실행을 수행 할 수있는 다른 방법이 있습니까?



답변

내가 아는 한 cron에는 특별한 목적이 있기 때문에 직접 수행 할 수있는 방법이 없습니다. 실행은 특정 시간에 명령을 예약합니다. 따라서 가장 좋은 방법은 crontab 항목을 수동으로 만들거나 환경을 제거하고 재설정하는 스크립트를 작성하는 것입니다.


답변

다음 명령으로 crontab을 강제로 실행할 수 있습니다.

run-parts /etc/cron.daily

답변

“크론 작업을 수동으로 즉시 실행”에 설명 된대로 크론 사용자 환경을 시뮬레이션 할 수 있습니다 . 이를 통해 cron 사용자로 실행될 때 작업이 작동하는지 테스트 할 수 있습니다.


링크에서 발췌 :


1 단계 :이 줄을 사용자의 crontab에 임시로 넣었습니다.

* * * * *   /usr/bin/env > /home/username/tmp/cron-env

그런 다음 파일이 작성되면 꺼 냈습니다.

2 단계 : 나 자신을 크론 bash 스크립트로 만들었습니다.

#!/bin/bash
/usr/bin/env -i $(cat /home/username/tmp/cron-env) "$@"

그래서 문제의 사용자로서

run-as-cron /the/problematic/script --with arguments --and parameters