cron으로 자동 백업하려는데, cron에 대해서 일반적인 내용은 많은데
설정한 결과와 어떻게 했는지에 대해서는 잘 안나와 있더라구요.
어렵지 않은데 저처럼 초보관리자는 참 대략 난감... ㅡ.ㅡ;;
시스템마다 설정이 다르겠지만 제가 맡고 있는 시스템에서 설정한 걸 올립니다.
====================================================================================
●OS : Linux RedHat 5
● 빨간색은 주의할 부분이예요. 제가 설정하면서 놓쳤거나 자료에도 잘 안나와 있는 부분입니다.
1. 백업 스크립트 준비
1) 스크립트에서는 반드시 ".bash_profile"에 있는 환경설정 내용이 들어가야 함
2) SQL*PLUS로 실행할 쿼리는 "system"유저로 해야함 : 일반 유저로 실행하면 크론 실행 시 에러 발생
2. crontab 설정 : oracle유저로 cron실행시켜야 함
1) root로 로그인
2) cron.deny와 cron.allow 파일 존재 확인 : ls /etc
3) cron.deny는 있으나 cron.allow 파일은 없음. 그래서 cron.allow 파일 생성
vi cron.allow
oracle
esc + : + wq
4) cron.deny 파일에 등록된 유저 확인 : 여기에 등록된 유저는 없었음
more cron.deny
5) oracle유저로 로그인
6) 스크립트가 있는 파일 권한 설정 : export 백업은 oracle의 system이 실행하지만, 이 백업을 자동화할 수 있게 하는 것은 "cron"이므로 cron이 실행시킬 파일에 접근 해서 실행 할 수 있게 "755"로 권한을 설정한다.(관련 파일은 모두 755로 설정했음)
ⓐ chmod 755 /oracle/backup/exp/script/daily.sh
ⓑ chmod 755 /oracle/backup/exp/files
ⓒ Note : cron으로 자동 실행할 파일은 파일은 모두 cron이 접근해서 실행가능하게 해야 하기에 파일이 새로 생성되면 반드시 권한을 설정한다.
7) cron 설정 : path에는 실행할 파일이 있는 경로도 적어준다.
ⓐ 크론 수정 및 등록 : crontab -e
ⓐ 크론 설정 확인 : crontab -l
ⓑ cron 등록 확인 : root유저로 확인
ⓒ cron restart : cron을 등록하거나 수정하면은 재시작을 해줘야지 반영이 되었다.(재시작을 하지 않으면 cron은 실행되지 않음)
su - root
/etc/init.d/crond restart
3. 자동백업 결과 : mail로 자동실행 과정 결과가 발송됨
The original message was received at Wed, 18 Mar 2009 10:21:01 +0900 ----- The following addresses had permanent fatal errors ----- ----- Transcript of session follows ----- --n2I1L1sa011660.1237340355/localhost.localdomain Reporting-MTA: dns; localhost.localdomain Final-Recipient: RFC822; root@localhost.localdomain --n2I1L1sa011660.1237340355/localhost.localdomain Return-Path: <oracle> Wed Mar 18 10:21:01 KST 2009 SQL*Plus: Release 10.2.0.3.0 - Production on Wed Mar 18 10:21:01 2009 Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SP2-0734: unknown command beginning "**********..." - rest of line ignored. Export: Release 10.2.0.3.0 - Production on Wed Mar 18 10:21:02 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved.
About to export specified users ... .................. . exporting synonyms --n2I1L1sa011660.1237340355/localhost.localdomain-- |