매월 첫째 수요일 Linux 서버 종료

매월 첫째 수요일 Linux 서버 종료

나는 crontab 항목을 다음과 같이 작성했습니다.

00 19 1-7 * 3 /sbin/init 0

매달 첫 번째 수요일에 내 Linux 서버를 꺼야 합니다. 안타깝게도 오늘(목요일)에 서버가 다운되었습니다. 누구든지 왜 이런 일이 발생했는지 알려주고 어떻게 고칠 수 있는지 알려주세요.

답변1

에서크론탭(5):

   Note: The day of a command's execution can be specified by two fields --
   day of month, and day of week.  If  both  fields  are  restricted  (ie,
   aren't  *),  the command will be run when either field matches the cur-
   rent time.

이는 귀하의크론탭입력이 예상대로 작동하지 않습니다. 이 명령은 매월 1일부터 7일까지 매일 실행되며 매주 수요일도 실행됩니다.

위와 같은 이유로,크론혼자서는 매월 첫 번째 수요일인지 아닌지를 결정할 수 없습니다. 그러나 다음을 사용하여 하나의 조건을 확인할 수 있습니다.크론그리고 다른 하나를 확인하십시오시험그리고날짜:

00 19 1-7 * * [ $(/usr/bin/date +\%w) = 3 ] && /sbin/init 0

작동 방식:

  • 해당 명령은 매월 1일부터 7일까지 매일 실행됩니다.

  • $(/usr/bin/date +\%w)평일을 반환합니다.

  • [ ... = 3 ] &&해당 평일이 수요일(3)인지 확인합니다.

  • 그렇다면 /sbin/init 0처형됩니다.

퍼센트 기호는 특수 문자이므로 이스케이프해야 합니다.크론.

관련 정보