시스템 관리 및 실습 #10
1. 시스템 백업과 복구를 정리
- 백업사이즈 보는 법
# ufsdump S /usr
6502920

- 전체 백업
# ufsdump oucf /dev/rsto

- 내 하드로 백업
#ufsdump oucf /dev/rmt/o /

- 부분 백업
# ufsdump 9ucf /dev/rsto /

- 리모트 시스템에서의 전체 백업
# ufsdump oucf anyon:/dev/rsto /stud2

- 파일 시스템 복구법
# cd /var/tmp
# usfsrestore ivf /dev/rsto

- 파일 시스템 수동으로 복구
# cd /var/tmp
# ufsrestore xvf /dev/rsto

- tar를 이용한 백업
만일 /home 디렉토리 이하의 파일들을 /dev/rmt/0에 백업받으려 한다면 다음과 같이 입력.
# tar cvf /dev/rmt/0 /home
나중에 백업한 내용을 restore하시려면 /에서 다음과 같이 입력
# tar xvf /dev/rmt/0
tar를 사용하는경우 원하는 파일만을 restore하려면 아래와 같이 입력
# tar xvf /dev/rmt/0 `tar tf /dev/rmt/0 | grep 'pattern'`
restore하고자 하는 파일의 리스트를 파일로 만들고 싶으면 다음과 같이 입력
# tar xvf /dev/rmt/0 -I list
2. /var/log 디렉토리 안의 로그 파일 탐색 및 정리
솔라리스 로그파일과 저장 내용
/var/adm/aculog : tip명령에서 모뎀을 사용한 내력을 기록
/var/adm/lastlog : 현재 시스템에 존재하는 사용자들의 마지막 로그인에 관한 정보를 기록
/var/adm/messages : 시스템에서 발생하는 대부분의 로그를 기록
/var/adm/sulog : su 명령어의 실행 내력을 기록
/var/adm/vold.log : vold 데몬 프로세스에 의해 생성된 오류 메시지나 디버깅 메시지를 기록
/var/adm/utmpx : who 명령어, last 명령어 등에서 참조되는 사용자의 모든 로그인과 로그아웃 정보를 기록
/var/adm/wtmpx : who 명령어에서 참조하는 사용자의 모든 로그인과 로그아웃의 상세한 정보와 현재 로그인 상황을 기록
/var/adm/log/asppp.log : ppp 프로토콜에 의해 발생한 정보를 기록
/var/cron/log : cron 명령어나 at 명령어의 실행 내력 기록
/var/log/autolog : 사용자 인증 내력을 기록
/var/log/sysidcfg.log : sysidcfg 프로그램의 실행 내력 기록
/var/log/syslog : 전자 우편을 송수신하는 프로그램들이 만든 메일 송수신 내력이나 오류 메시지를 기록
/var/log/xferlog : ftp 서비스를 제공하는 프로그램에서 만든 파일 전송 내력을 기록
3. /etc/syslog.conf 내용 확인 및 실습
/etc/syslog.conf는 syslog에 대한 설정 파일이다.
파일 내용 중 주석을 제거하면 다음과 같다.
  *.err;kern.notice;auth.notice                   /dev/sysmsg
  *.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages

  *.alert;kern.err;daemon.err                     operator
  *.alert                                         root

  *.emerg                                         *
  mail.debug                      ifdef(`LOGHOST', /var/log/syslog, @loghost)

  ifdef(`LOGHOST', ,
  user.err                                        /dev/sysmsg
  user.err                                        /var/adm/messages
  user.alert                                      `root, operator'
  user.emerg                                      *
4. logrotate 개념 정리 및 실습
logrotate 설정은 다음과 같다.
- logrotate.conf 에 내용을 추가하는 방법
- logrotate.d 디렉토리에 내용을 파일로 만드는 방법
예)
/usr/local/apache/logs/error_log /usr/local/apache/logs/access_log  {
           rotate 3
           size=20M
           sharedscripts
           postrotate
                /bin/kill -hup `cat /usr/local/apache/logs/httpd.pid`
           endscript
}
위와 같은 내용을 logrotate.conf 에 추가를 하거나 logrotate.d 디렉토리에 파일로 만들면 된다.

- /etc/logrotate.d/syslog 파일 예
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}
- logrotate 원리
logrotate 설정 내용을 crond 데몬이 정해진 시간마다 실행.
/etc에 있는 cron.daily , cron.hourly , cron.monthly, cron.weekly 디렉토리 속을 보면 각 디렉토리마다 logrotae 파일이 있는 것을 볼 수 있다.
파일을 열어보면 알수 있듯이, 직접 logrotate 시키는 것을 스크립트로 만들어 놓은 내용이다.
cron 데몬에 의해서 정해진 시간에 각 파일이 실행되고 logrotate.conf 에 정해진 설정에 따라 log를 rotate 시킨다.
이런 흐름으로, 로그기록이 순환을 하게 된다.
 
맨위로
1.시스템 백업과 복구
2./var/log 디렉토리 안의 로그 파일
3./etc/syslog.conf 내용
4.logrotate 개념
 
맨아래로
이동