[shell script] crontab 매달 마지막 날에 실행되도록 설정하기

HYEOB KIM·2022년 4월 27일
0

Shell

목록 보기
63/71

crontab으로 매달 마지막 날을 지정하는 법에 대해 생각해보신 적이 있나요?

월마다 마지막 날은 30, 31 등이 있을 수 있어 고정적이지 않습니다.

crontab을 사용할 때 매달 마지막 날에 실행되도록 하려면 어떻게 해야 할까요?

먼저 crontab 편집창을 열고

$ crontab -e

아래와 같이 작성하면 됩니다.

00 12 * * * [ $(date +\%d -d tomorrow) = 01 ] && <실행하고 싶은 스크립트 파일>

코드 리뷰

  • date +\%d -d tomorrow : 내일의 을 나타냅니다.
$ date
Wed 27 Apr 2022 06:40:14 AM UTC
$ date +%d -d tomorrow
28
  • 즉, 내일이 1일이라면 스크립트 파일을 실행하라는 의미입니다.

(참고) echo는 리다이렉션 하기

echo 명령어는 crontab으로 실행했을 때 모니터로 출력되지 않습니다.

따라서 리다이렉션을 해주어 결과를 확인해야 합니다.

profile
Devops Engineer

1개의 댓글

comment-user-thumbnail
2024년 8월 30일

28 ~ 31일 사이에만 실행되게 설정하면 조금 더 최적화 되겠네요

답글 달기