카테고리 없음2013. 6. 18. 09:44

 

26장. cron, at, anacron

 

 

학습목표

- 반복되는 작업과 예약작업을 수행하기 위한 명령어의 사용법을 익힌다.

 

 

● cron

- 주기적으로 반복되는 작업을 수행

- crond 라는 데몬으로 작동 (기본 설치됨)

 

 

 

● 사용자별 crontab 설정

- 일반 사용자의 자기 홈디렉토리 백업등의 용도로 사용

- vi 편집기가 구동됨

- 명령어

   → 편집 : # crontab -e

   → 확인 : # crontab -l

   → 삭제 : # crontab -r

- /var/spool/cron/ 사용자명으로 저장됨

 

 

● at

- 일시적으로 한번만 수행되는 작업을 예약

- atd 라는 데몬으로 작동

- 명령어

   → 예약 : # at <시간>

      ☞ 예) # at 3:00am tomorrow -> 내일 새벽 3시

      ☞      # at 11:00pm January 30 -> 1월 30일 오후 11시

      ☞      # at now + 1 hours -> 1시간 후

   → at> 프롬프트에 예약 명령어 입력 후, Enter

   → 완료되면 Ctrl + d

   → 확인 : # at -l

   → 취소 : # atrm <작업번호>

 

 

● anacron

- cron과 유사하지만, 시스템이 꺼져있을 경우 있으면 해당작업이 정해진 시간에

   수행되었는지를 확인하고 수행한 적이 없으면 실행

- /etc/anacrontab 파일로 저장

 

 

 

 

[실습]

 

● crontab 설정

● at 설정

● anacron 설정

 

 


 

/etc/crontab 파일에는 기본적으로

시간별, 일별, 주별, 월별로 설정이 다 되어있다.

 

 


 

< crontab 설정 >

 

 


vi /etc/crontab

 

 

 

분 시 일 월 주 root run-parts /etc/cron.*

 

01 * * * * root run-parts /etc/cron.hourly

 

매 시간 1분마다 실행

 

02 4 * * * root run-parts /etc/cron.daily

 

매일 4시 2분에 실행

 

22 4 * * 0 root run-parts /etc/cron.weekly

 

매주 일요일 4시 22분에 실행

 

42 4 1 * * root run-parts /etc/cron.monthly

 

매월 1일 4시 42분에 실행

 

 

 

ls /etc/cron.daily

 

기본적으로 매일 실행되는 실행파일들을 볼 수 있다.

 

cd /etc/cron.daily

 

touch abc.sh

 

vi abc.sh

 

/etc/cron.daily 폴더로 이동해서

abc.sh 이란 쉘 파일을 만들어보자.

아직 쉘은 배우진 않았지만 따라하면서 해본다.

 

 


 

위와 같은 아주 간단한 프로그램으로 설정

 



 

ls -l 명령으로 확인해보면 abc.sh 파일이 생성되었다.

하지만 실행할 수 있는 권한이 없기 때문에 권한을 수정한다.

 

chmod a+x abc.sh

 

a+x는 모든 유저에게 실행할 수 있는 권한을 부여한 것이다.

 


 

cat /etc/crontab

 

현재 지정한 저 시간

매일 4시 02분이 되면 자동적으로 abc.sh 파일이 실행되게 된다.

시간을 바꾸고싶으면 저 부분을 수정하면 된다.

 

 

 

 

< at 설정 >

 

 

 

at 3:00am tomorrow

 

내일 새벽 3시에 작업할 내용을 예약한다.

프롬프트가 at> 으로 바뀌면 예약할 명령을 입력하면 된다.

 

예를 들어서 /root/aa.dat 파일을 bb.dat 파일로 복사해야한다고 하자.

 

at> cp /root/aa.dat bb.dat

at> Ctrl + D                     

 

모든 작업이 다 끝났으면 Ctrl + D를 눌러 빠져나온다.

 

그리고 예약작업을 확인하려면 at -l 명령을 내리고

예약한 작업을 삭제하려면 atrm <작업번호> 명령을 내린다.

여기선 atrm 1 이다.

 

 

 

< anacron 설정 >



 

 

cat /etc/anacrontab

 

 65   cron.daily   run-parts   /etc/cron.daily

 

컴퓨터가 꺼져있어도 다시 켰을때

매일 /etc/cron.daily에 있는 실행파일들이 실행되었는지 체크를 하고

실행이 안되어있는 경우에는 65분 후에 실행

 

7   70   cron.weekly   run-parts   /etc/cron.weekly

 

마찬가지로 매주 /etc/cron.weekly에 있는 실행파일들이 실행되었는지 체크를 하고

실행이 안되어있는 경우에는 70분 후에 실행

 

30   75   cron.monthly   run-parts   /etc/cron.monthly

 

매월 /etc/cron.monthly에 있는 실행파일들이 실행되었는지 체크를 하고

실행이 안되어있는 경우에는 75분 후에 실행

 

Posted by 아이맥스
카테고리 없음2013. 6. 18. 09:41

 

27장. syslogd 

 

 

학습목표

- 시스템의 사용현황 및 정보가 기록되는 로그에 대해서 알아보자.

 

 

● 로그 메시지 주요 파일

- /var/log/dmesg

   → 커널이 부팅시 하드웨어 검색하는 메시지

- /var/log/messages

   → 커널과 시스템에 관련된 로그 메시지, 시스템 관리 및 보안관리에 매우 중요

 

 

● 시스템 로그

- 부팅시 /etc/init.d/syslog 스크립트에 의해 klogd 데몬(커널로그 데몬)과

   syslogd 데몬(시스템 로그 데몬)이 구동됨

 

- 설정파일 : /etc/syslog.conf

   → 파일구성 : 선택자필드(메시지.우선권) + 액션

   → 메시지(설비) 영역 :

       auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, uucp 등

       또는 *(모든것) 또는 none(우선권 적용안함)

 

   → 우선권영역 : emerg, alert, cirt, err, warning, notice, info, debug

   → 액션 : 파일, 터미널 또는 콘솔, 원격전송(침입대비)

 

kern.*                                                                        /dev/console

*.info;mail.none;authpriv.none;cron.none                       /var/log/messages

cron.*                                                                       /var/log/cron

 

   → 1행 : 커널과 관련된 모든 메시지를 콘솔로 보냄

   → 2행 : 모든 "정보에 해당하는 메시지"를 /var/log/messages에 저장.

               단, mail, authpriv, cron 관련은 제외

 

 

 

[정리]

 

● 시스템 로그파일

 

Posted by 아이맥스
카테고리 없음2013. 6. 18. 09:38

 

28장. logrotate 

 

 

학습목표 

- syslogd가 생성하는 로그파일을 주기적으로 교체 및 제거하는 방법을 알아보자. 

 

 

● 개요

- 로그파일을 방치할 경우 지속적으로 크기가 커짐

- logrotate rpm 패키지 설치 확인

   (rpm -qa | grep logrotate)

- /etc/cron.daily/logrotate -> /etc/logrotate.conf

   -> /etc/logrotate.d/ 디렉토리 참조 

 

 

/etc/logrotate.conf

- weekely : 1주일 단위로 새파일로 순환

- rotate : 로그파일 보관 주

- error : 오류 발생시 메일 전송

- create : 이전 로그를 순환한 뒤 빈 로그파일 생성

- compress : 백업로그를 압축보관 (gzip)

- include : rpm 패키지에서 제공하는 로그관리 정보 이용

 

  

 

 

[정리]

 

● /etc/logrotate.conf 파일

● /etc/logrotate.d/ 디렉토리

 

 

Posted by 아이맥스