between 0 and 1

리눅스 반복 예약 작업 crontab 요일설정하기 본문

Software Development Engineering/Linux

리눅스 반복 예약 작업 crontab 요일설정하기

devxpert.yoon 2018. 7. 20. 14:20
728x90
반응형


리눅스 반복 예약 작업인 crontab 을 이용하다 보면,

요일 마다 반복되는 작업을 걸고 싶을 때가 있다. 

(서버 재부팅 주기를 설정한다거나...... 백업을 주기적으로 실행한다거나...... )


할 때 마다 헷갈려서 정리해 놓으려고 한다.


crontab 관련된 파일 및 경로들은 아래와 같다


/etc/crontab

/etc/cron.d/

/etc/cron.daily/

/etc/cron.hourly/

/etc/cron.monthly/

/etc/cron.weekly/

/var/spool/cron/



위의 경로중 마지막 /var/spool/cron/ 디렉토리에 보면 최종적으로 사용자별 crontab 설정들이 있다.

위 경로들을 에디터로 열어서 직접 수정을 해주어도 되고,


간단하게 아래의 명령로도 최종 수정본을 접속하여 수정해 주어도 된다.

$> crontab -e


참고로 현재 crontab에 등록된 리스트 내용은 아래 명령어로 확인 가능하다

$> crontab -l



오늘 주제의 핵심인 요일설정은 아래 내용을 참고한다.

# Example of job definition:


# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


crontab은 총 5개의 숫자로 반복작업을 설정하게 되는데, 

왼쪽부터 순서대로 분, 시, 일, 월, 요일 순서이다.

이중 요일은 5번째 숫자인데,

숫자 혹은 문자로 설정 가능하다


요일 

숫자표기 

문자표기 

일요일

월요일

화요일

수요일

목요일

금요일

토요일

일요일

0

1

2

3

4

5

6

sun

mon

tue

wed

thu

fri

sat

sun 


숫자로만 설정할 수 있다고 생각하고 있었는데, 문자로도 설정이 가능하다.


crontab을 설정했다면, 마지막으로 restart를 시켜줘야만 동작을 한다.

Debian/Ubuntu 계열과 RHEL/CentOS/Fedora 계열은 명령어가 다르니 한 번 더 확인하자


Debian/Ubuntu 계열 - cron

$> sudo service cron status

$> sudo service cron stop

$> sudo service cron start

$> sudo service cron restart



RHEL/CentOS/Fedora 계열 - crond

$> service crond status

$> service crond stop

$> service crond start

$> service crond restart






728x90
반응형