리눅스에서 crontab은 시간마다 일정한 스크립트를 수행하기 위해 사용되고,


/etc/rec.d/init.d/crond 데몬에의해 관리된다.




1. crontab list 홧인


crontab -l



2. crontab 편집


crontab -e



3. 실행, 중지, 재시작


service crond start(stop|restart)



4. 등록 내용 설정


crontab -e를 통해서 들어온 편집기에 다음과 같은 형태로 저장한다.


# +---------------- 분 (0 - 59)

# |  +------------- 시 (0 - 23)

# |  |  +---------- 일 (1 - 31)

# |  |  |  +------- 월 (1 - 12)

# |  |  |  |  +---- 요일 (0 - 6) (일요일=0 or 7)

# |  |  |  |  |

  *  *  *  *  *  실행될 명령


의 형태로 작성한다.



5. 등록 내용 설정 심화



* * * * * => 매분마다 실행

  

5-59/20 * * * *  => 5분에서 59분 사이 20분간격 실행 -> 5분, 25분, 45분


1-59/2 * * * *  => 매 홀수분마다 실행


5 */2 * * *  => 매일 2시간간격으로 5분에


초단위로 실행은 불가함.



6. crontab 사용 권한


=> /etc/cron.allow : 허용할 사용자 ID 목록
=> /etc/cron.deny  : 거부할 사용자 ID 목록

cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny  파일이 있으면 이 파일에 들어있는 ID는 사용 불가



7. 기타


 > /dev/null  2>&1 이란?


예를들어


ls > /dev/null 2>&1 와 같을때 


>는 리다이렉션 기호이다. ls > /dev/null 은 결과값에 대한 표준 출력을 /dev/null로 넣으라는 뜻이고 


2>&1 에서 2> 라는 말은 표준 에러를 리다이렉션 한다는 뜻임. &1 은 /dev/null 을 가리키는 표시이다.


위와 같이 안하고 ls > /dev/null 만 하게 되면 에러가 없는 결과값이 /dev/null 로 출력되어 화면에는 아무런 표시가 되지 않지만, 에러가 발생했을때에는 화면에 표시된다.


뒤에 2>&1 은 에러출력도 &1 (/dev/null )로 출력하라는 뜻으로 결과적으로 명령어에 대한 실행결과에 상관없이 아무것도 표시안하게 된다(성공이든 에러든).





+ Recent posts