ontape를 cron 유틸리티로 실행하도록 하는 방법
===========================================
원본출처 : 딧세님 홈페이지 (http://informix.we.ro)
Q3
Informix의 backup 유틸리티인 ontape를 crontab에 입력하여 자동으로 실행시키려 합니다. 어떤 방법으로 가능한가요?
A
우선 ontape 실행을 crontab에 지정하기 위한 셸 스크립트를 작성해야 합니다.
ontape -s -L 0 <<!
(반드시 Enter 키를 쳐서 한 줄 비울 것)
!
위와 같이 작성할 수 있습니다. 그러나 cron은 root가 실행(informix나 일반 user가 아닌)하는 것이므로 ontape를 실행할 수 있는 환경변수, 즉 INFORMIXDIR, INFORMIXSERVER, PATH 등의 환경변수가 root 환경에 반드시 설정되어야 합니다. 따라서 위 스크립트에서 ontape 앞 쪽에 먼저 환경변수를 설정하는 것이 좋습니다.
export INFORMIXDIR=/usr/informix
export INFORMIXSERVER=info_bank
export PATH=$INFORMIXDIR/bin:.:$PATH
ontape -s -L 0 <
!
위의 형식으로 실행 스크립트를 만드는 것이 일반적입니다.
위 세 가지 환경변수 외에도 필요하다고 생각되는 환경변수들
(locale 관련 환경변수 등과 같은)을 반드시 설정하여 주십시오.
이렇게 준비된 셸 스크립트를 cron 테이블에 등록함으로써 실행되도록 합니다.
예를 들어, 위의 셸 스크립트가 /home/informix/on_tape.sh라는 파일로 저장되어 있다면 HP-UX 10.20 환경에서는 다음과 같이 할 수 있습니다.
0 0 * * * /home/informix/on_tape.sh
위의 내용은 "0분 0시 매일 매월 매요일" 에 "/home/informix/on_tape.sh"를 실행하라는 의미입니다. 이 한 문장의 내용이 /home/informix/cronfile에 저장되어 있다면 이제 crontab 명령을 실행할 수 있습니다. 물론 root에서 실행해야 합니다.
K400:/post01/byrhee/vol5> crontab cronfile
warning: commands will be executed using /usr/bin/sh
cron에 실행하도록 작업이 전달되었는지 확인하기 위해서는 다음 명령을 실행하십시오.
K400:/post01/byrhee/vol5> crontab -l
0 0 * * * /home/informix/on_tape.sh
또한 다음의 명령으로 cron에 전달한 작업을 삭제할 수 있습니다.
K400:/post01/byrhee/vol5> crontab -r
이와 같은 방법으로 작업을 하게 되면, 여기서 알아본 바와 같이 0 Level로 ontape를 실행하는 것과 1 Level, 2 Level로 진행하는 backup 방법도 병행하여 사용할 수도 있을 것입니다. 즉, 매일 0시 정각에는 2 Level로 ontape를 실행하고, 매주 일요일 0시에는 1 Level로, 그리고 매월 1일에는 2 Level로 실행하도록 작업을 스케줄링 할 수 있습니다. 참고로 1 Level, 0 Level로 실행하도록 하는 ontape 명령은 다음과 같습니다.
K400:/post01/byrhee/vol5> ontape -s -L 1
K400:/post01/byrhee/vol5> ontape -s -L 2
주의
cron 유틸리티는 정해진 시간이 되면 자동적으로 어떤 작업을 수행하도록 합니다. 따라서 관리자가 일일이 명령을 주거나 지켜보지 않더라도 일련의 작업을 수행할 수 있다는 장점이 있습니다. 그러나 ontape 같이 백업을 수행하는 작업이라면 혹시 백업 받아야 하는 자료가 테이프 하나로 소화할 수 있는 양을 초과할 때에는 백업 도중에 테이프를 교환해 주어야 하기 때문에 cron으로 실행하는 것은 불가능합니다.
|