fullmoon's bright IT blog

[AWS] AWS Autoscaling Crontab 홀수/짝수일로 설정하기 본문

Cloud/AWS

[AWS] AWS Autoscaling Crontab 홀수/짝수일로 설정하기

휘영청 2021. 8. 24. 16:55
728x90

 

안녕하세요

휘영청입니다.

 

[목차]

1. [Question] AWS Autoscaling crontab 일정 이슈

2. [Test] 짝수일정으로 Test 해보기

3. [Conclusion] 설정은 이렇게

 


 

[Question]

 

AWS AutoScaling [작업 조정] 에서 예약된 작업을 설정할 수 있다.

 

 

Amazon EC2 Auto Scaling의 예약된 작업을 사용하여 특정 이벤트에 대한 용량을 사전에 가동하고 관련

예약된 작업을 사용하여 트래픽 패턴이나 예상되는 향후 트래픽에 따라 용량을 확장할 수 있습니다. 예를 들어, 매일 같은 시간대에 두 시간 동안 트래픽이 증가한 애플리케이션이 있을 수 있습

aws.amazon.com

 

 

가끔은 알고 있던 Crontab이 안먹히는 경우가 있다고 한다.

 

예약 작업을 짝수의 일정, 홀수의 일정으로 작업하고 싶어요.

 

 

기존에 알고있는 crontab으로 일정 조정했다가

 

 

예약된 작업 시작 시간이

자동으로 다음날로 변경되어서 적용이 안되는 경우가 있다고 한다.

 

 

 

먼저 Crontab 을 기존에 사용하고 있던 걸로 한번 알아보면

 

* * * * *
분 (0 - 59) 시 (0 - 23) 일 (1 - 31) 월 (1 - 12) 요일 (0 - 6)

 

여기서 필요에 맞게 수정한다.

 

 

보통 짝수일정이라면

* * */2 * *

 

홀수일정 이라면

* * 1-31/2 * *

 

이런 경우인데 홀수는 문제 없는데

 

짝수일정이 문제인 것

 

 


[TEST]

 

짝수의 일정을 */2 가 아닌 다른 설정으로 테스트해보자.

다른 건 생략하고 핵심만 

 

 

1. */2  (원래 설정)

 

현재 24일 (짝수일정)

13시-16시 59분마다 업데이트하게끔 설정

 

갑자기 왜이래?

날짜가 변경된다. 적용이 안되는 것 같음.

 

 

 

그럼 짝수가 되게끔 하는 방법은 없나?

정말 기본적으로 숫자놀이라 가정할 때

 

날짜를 2로 나눠서 나머지가 0인 부분을 생각해보면 30일까지 해보면 되지 않을까 했다.



※ 찾아보니까 '/2 ' 이부분은
+2 씩 등차수열처럼  날짜가 늘어난다고 생각하면 될 것 같다.

1-31/2

1부터 시작해서 +2 + 2 ···

1 3 5 7 9 · ···
홀수

2-30/2

2부터 시작해서 +2 + 2 ···

2 4 6 8 10 ····
짝수




2. 2-30/2 

현재 24일 (짝수일정)

13시-16시 56분마다 업데이트하게끔 설정

 

어 이게 되네

일정에 영향이 없다. 된다 된다. 바뀌지 않는군!

 

 

 

그럼 그냥 2-31일 까지 해볼까?

3. 2-31/2

현재 24일 (짝수일정)

13시-17시 01분마다 업데이트하게끔 설정

 

이것도 된다.

 

결론은 2-30이든 2-31일이든 설정하면

짝수일정을 고정시켜서 예약작업을 할 수 있다는 것

 

 


[Conclusion]

 

짝수일정을 AWS autoscaling crontab 설정시

*/2 가 아니라 2-30/2로 설정으로 하세요.

 

(30일이 짝수일자 끝)

 

 

그럼 왜 * 가 안되냐고 고민해보니

*은 0도 포함하는거 아냐...?

(기존 유닉스나 리눅스는  일정은 1부터일텐데 흠.. 왜 적용안되지)

 

 

+  add

 

찾아보니까

http://crontab.org/

 

crontab.org - CRONTAB(5)

 

crontab.org

여긴 day 0 인데

 

/etc/crontab은

1-31일인디..

 

 

 

읽어주신 분들 감사합니다.

여러분의 꿀팁이 되길

 

 

 

 

(리눅서님 야매님 감사해요)

728x90