지금부터 crontab에게 즉시 명령을 실행하도록 지시하는 방법

지금부터 crontab에게 즉시 명령을 실행하도록 지시하는 방법

7일마다 데이터베이스 프로그램을 실행하는 "/etc/crontab" 명령이 있습니다. 그런데 이 명령이 2주 전에 다른 사용자에 의해 언급된 것을 보았습니다. 나는 즉시 이 줄의 주석 처리를 제거했고 오늘 이 명령이 crontab에 의해 실행되지 않는 것을 보았습니다.

왜? /etc/init.d/cron restart를 다시 시작한 후 crontab이 다시 시작되고 명령줄을 보면 7일마다 명령을 실행하라는 메시지가 표시됩니다. 이 프로그램은 언제 시작되나요? 서비스 크론드가 재시작되면 바로 시작되지 않나요? 그렇지 않은 것 같습니다.

지금은 7일 프로그램이 무척 기대됩니다. 오늘 밤에 crontab이 7일 프로그램을 시작하길 원합니다. 어떻게 해야 하나요?

스크립트는 다음과 같습니다

0 0 */7 * *        root  source /opt/db_maintain/run.sh

답변1

*/7은 "지금부터 7일마다"를 의미하지 않습니다. "7의 배수인 매일"을 의미합니다. 따라서 #day 모듈로 7 == 0 → 해당 월의 7일, 14일, 21일, 28일이면 명령이 실행됩니다.

Cron의 프랑스어 위키 페이지에는 다음과 같은 많은 예가 나와 있습니다. http://fr.wikipedia.org/wiki/Cron#Examples

Fcron을 사용할 수도 있습니다: http://fcron.free.fr/

답변2

오늘은 수요일입니다. cron이 매주 목요일 자정에 명령을 실행하도록 하려면 crontab에 다음을 입력하십시오.

0 0 * * 4    root /path/to/command

답변3

at시간 특성(예: "현재 + 7일")을 기준으로 작업을 스풀링하는 서비스/데몬을 설치할 수도 있습니다 . 먼저 ( 스크립트 등을 atd통해 ) 실행합니다. 그런 다음 작업을 대기열에 추가하세요.initsystemdupstart

at -f /path/to/command now + 7 days

지금부터 7일 이후 또는

at 2am tomorrow

내일 오전 2시에 실행될 명령을 읽어보세요. 한두 번 테스트한 다음 작동하지 않는지 확인하려면 7일을 기다려야 합니다. 노력하다now + 1 minutes

7일마다 실행되도록 하는 한 가지 방법은 at배치 앞에 다른 명령을 추가하는 것입니다.

cat >~/bin/weekly-job.sh << AT
at -f ~/bin/weekly-job.sh now + 7 days
~/bin/database-job.sh
AT

관련 정보