테스트 사이트 - 개발 중인 베타 버전입니다

crontab 사용하기

· 20년 전 · 12080 · 1
crontab 사용하기 (정기 작업)

]#crontab -l <-- 크론의 설정내용을 출력함
]#crontab -e <-- 설정 내용을 수정함
]#crontab -r <--설정 내용을 삭제함
-----------------------------------------------------------------------------

cron은 일정관리 명령어로서 일정관리 파일(crontab)에 따라 주기적인 명령을
수행한다. 이 일정관리 파일에는 명령이 수행될 시간, 수행할 로그인명 등이
포함된다. 시스템에 따라서 /usr/lib/crontab이나 /etc/crontab파일이 있으며
crontab디렉토리가 따로 존재할 수도 있다.

crontab은 7개의 필드로 구성되는데 6번째 필드는 생략하여도 무방하다.
+----------------------------------------------+
| 분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령 |
+----------------------------------------------+
상기의 형식에서 사용자필드는 명령이 수행될 사용자명을 지정하고 명령필드는
수행하고자 하는 명령어와 인자를 적어주면 된다. 시간을 나타내는 1~5번째의
필드는 그 시간들을 무시하고자 할때 *로 표시하게 된다. 요일필드의 경우에는
월요일부터 금요일까지를 나타내며 순서대로 1~5로 표시하게 된다. 그리고 하나의
필드에 중복된 내용을 기재하고자 하면 콤마(,)로 구분하면 된다. 연속된 내용을
기록하고자 하면 하이픈(-)을 이용하여 기간을 나타낸다. 또한 슬래쉬(/)를 사용한
내용도 있는데 이는 시간의 경우에 23-7/2라면 23시부터 07시까지 매 2시간마다
라는 의미를 가지고 있다. 시간필드에서 */2라면 매 2시간마다라고 해석하면 된다.

0,30 * 1,15 * 1-5 fsck -y
상기의 예에서 보면 매달 1일과 15일날 30분마다 요일에 관계없이 fsck -y명령을
실행하도록 되어 있다.(위의 예는 있을 수 없는 상황이겠지만 예로 들어본다.)
이러한 방식으로 명령어필드에 여러가지의 내용을 넣을 수 있다.

20 1 * * * root find /tmp -atime +3 -exec rm -f () ';'
매일 새벽 1시 20분에 3일간 접근하지 않은 /tmp내의 파일을 삭제하는 내용
0 4 * * * root find / -xdev -name core +7 -exec rm -f {}';'
매일 새벽 4시 정각에 지난 일주일간 접근하지 않은 core파일들을 삭제한다.
-xdev옵션은 독립형시스템이면 사용하지 않아도 된다.

수정하는 방법은 리눅스의 경우에는 crontab -e명령으로 에디팅을 할 수 있다.
수정하기 전에 지금 등록된 crontab을 보고자 하면 -l옵션을 사용하고 등록된
내용을 삭제하려면 -d옵션을 사용하면 된다.(-r옵션을 사용하는 유닉스도 있다.)
실행결과는 메일로 알려주게 되므로 자신의 메일을 읽어보면 된다.

crontab을 직접 고칠 수 없는 상황이면 crontab을 -l옵션을 사용하여 새로운
화일명으로 리다이렉션 받아서 편집한 뒤에 crontab filename의 형태로 등록하면
된다.
리눅스의 경우에는 /var/spool/cron/crontabs/에 자신의 계정을 화일명으로
crontab이 존재하고 있다.
이를 수정하여 자신에게 맞추거나 또는 새롭게 생성하
면 되겠다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

crontab 파일을 직접수정하는게 관리가 편하네요.

게시글 목록

번호 제목
319
318
317
315
314
313
312
311
310
309
308
307
306
305
304
303
301
300
299
298
297
296
294
293
290
289
기타 SSH
288
JavaScript rsync 백업
286
285
284