강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

“분, 시, 일, 월, 요일, 실행명령”순으로 cron설정하는 방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

, , , , 요일, 실행명령순으로 cron설정하는 방법

 

 

 

 

crontab명령어로 root나 일반사용자들의 개별적인 사용자cron설정을 하는 구체적인 방법에 대해서 알아보도록 하겠습니다.

 

 

 

 사용자들의 개별 cron설정을 실행하는 명령어에 대해서는 다음 내용에 구체적인 사례별로 설명되어 있으므로 참고하시고 여기서는 crontab명령어로 설정되는 내용들의 설정방법에 대해서 알아보도록 하겠습니다.

 

 

 

 

 

먼저 root cron설정 예를 보도록 하겠습니다.

 

 

 

 뒷부분에서 설명하겠지만 root cron설정을 확인하려면 root계정으로 “crontab -l”이라고 하시면 됩니다.

 

 

 

 

 

[root@su250 ~]# id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

[root@su250 ~]#

[root@su250 ~]# crontab -l

00 01 * * * su - root /usr/bin/rdate -s time.bora.net && sbin/hwclock -w

00 03 * * * su - root -c '/root/backup.sh' >& /dev/null

00 08 * * * su - root -c '/root/system_check' > /root/syscheck/syscheck_logs

[root@su250 ~]#

 

 

 

 

위의 root계정의 cron설정을 보면 각각의 행마다 숫자와 *, 그리고 명령어들로 구성되어 있는 것을 볼 수 있습니다.

 

 

 

 위의 예에서 보신 바와 같이 root를 포함한 각 계정들의 cron설정내용은 다음과 같이 모두 6필드로 구성되어 있습니다.

 

 

 

 

 

설명을 위하여 위의 root cron설정행 중  다음 행을 참고로 하여 그 의미를 설명하도록 하겠습니다.

 

 

 

 

 

00 03 * * * su - root -c '/root/backup.sh' >& /dev/null



 

 

맨 앞의 “00” 0분을 의미합니다.

 

 

 

 
그 뒤의 “03” 03 의미합니다.

 

 

 

 
그 뒤의 “*”는 매일을 의미합니다.

 

 

 


그 뒤의 “*”는 매월을 의미합니다.

 

 

 

 
그 뒤의 “*”는 매주를 의미합니다.

 

 

 

 

그 뒤의 “su - root -c '/root/backup.sh' >& /dev/null” root계정으로 “/root/backup.sh >& /dev/null”을 실행하라는 의미합니다.

 

 

 

 

, 위의 행 내용을 종합적으로 해석해 보면 매월, 매주, 매일 03시 00에 root계정으로 “su - root -c '/root/backup.sh' >& /dev/null”을 실행하라는 의미입니다.

 

 

 

  참고로 /root/backup.sh파일은 매일 실행되는 시스템의 백업스크립트가 저장된 실행파일로서 일백업(daily backup)을 하기 위하여 필자가 만들어 놓은 스크립트파일입니다.

 

 

 

 

 

, 그럼 설정내용의 예에 대한 구체적인 사례를 보았으므로 cron으로 설정되는 각행들의 필드내용을 좀 더 구체적으로 설명해 보도록 하겠습니다.

 

 

 

 

 

첫번째 필드

(minutes)”을 의미.  0,1,2,3,,,59분까지 원하는 대로 설정가능.

두번째 필드

(hour)”를 의미. 0,1,2,3,,,23까지 원하는 대로 설정가능.

세번째 필드

(day)”을 의미. 1,2,3,4,,,31일까지 원하는 대로 설정가능.

네번째 필드

(month)”을 의미. 1,2,3,4,,,12월까지 원하는 대로 설정가능.

 

다섯번째 필드

요일(weekday)”을 의미. 1,2,3,4,5,6,7중 하나로 설정가능.
(1:
월요일,2:화요일,3:수요일,4:목요일,5:금요일,6:토요일,7:일요일을 각각 의미함. 0도 일요일을 의미함.)

여섯번째 필드

실행될 명령어 내용

 

 

 

주의사항1 : “*”문자



 

각 필드에는 “*”문자가 올 수 있으며, 이는 각 필드에 해당하는 모든 숫자를 의미 합니다.

 

 

 

 예를 들어 (day)”필드자리에 “*”로 설정되었다면 설정된 명령어가 매일 실행이 되고, “(hour)”필드자리에 “*”로 설정되었다면 매시에 자동실행이 된다는 의미입니다.

 

 

 

 

 

주의사항 2 : 하이픈(“-”)문자

 

 


각 필드자리에 하이픈(“-“)문자가 올 수 있습니다.

 

 

 

 예를 들어 일(day)필드자리에 “11-15”로 설정되어 있다면 11, 12, 13, 14, 15일을 의미합니다.

 

 

 

 그리고 시간(hour)필드자리에 “1-5”로 설정되었다면 1, 2, 3, 4, 5 의미합니다.

 

 

 

 

 

주의사항 3 : 콤마(,)문자

 



각 필드자리에는 콤마(,)문자가 올 수 있습니다.

 

 

 

 예를 들어 일(day)필드자리에 “1,11,21”로 설정되었다면 1, 11, 21일을 각각 의미합니다.

 

 

 

 그리고 시간(hour)필드자리에 “3,6,9”로 설정되었다면 3, 6, 9 각각 의미합니다.

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  109 명