SYSTEM

cron

잘 살아보세 2009. 4. 1. 14:35
cron은 서버에서 작업을 자동화하기 위한 명령중의 하나입니다.
(이 밖에도 batch, at 등이 있습니다.)
cron의 사용법은 의외로 간단합니다. 명령옵션도 많지 않고요.

crontab -l(엘) : cron table에 등록되어 있는 내용을 출력
crontab -r : cron table의 내용을 삭제
crontab -e : cron table의 내용을 수정
(vi 에디터를 이용하여 /var/tmp/에 임시화일 생성)
crontab cronfile : cronfile 의 내용을 cron table에 등록

cron table에 등록되는 내용은 다음과 같습니다.
분 시 일 월 주 명령

원하는 시간을 설정하고 명령을 입력해 놓으면 해당 시간에 지정한
명령이 실행되는 방식이죠. 이때 실행되는 파일이 누구의 권한으로
실행되어야 하는지는 주의해서 사용해주어야 합니다.
다보넷의 설정에서 DB백업은 oracle 권한으로 해야하고,
소스백업은 루트의 권한으로 해야하죠... 이 둘을 별도의 cron으로
(oracle, root 계정 각각) 만들수도 있지만, 관리의 편의성을
위해서 root에 통합해서 만들었습니다.

실제로 설정되어 있는 내용은 다음과 같습니다.
00 03 * * * su - oracle -c /home/_backup/getDbBackup.sh
10 03 * * * /home/_backup/getSrcBackup.sh
00 17 * * 5 su - oracle -c /home/_backup/getDbBackup.sh
10 17 * * 5 /home/_backup/getSrcBackup.sh
30 17 * * 5 /usr/bin/php /home/_backup/ftp_upload.html

1,2줄은 매일 새벽3시와 3시10분에 DB와 Source백업을 실행하는 것이고,
3,4줄은 매주 금요일 오후 5시와 5시10분에 백업을 실행하는 것입니다.
마지막줄은 매주 금요일 오후 5시30분에 백업한 파일을 ftp로
전송하는 명령이죠...

=========================