커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 시스템 관리 / 서버운영 도움말
검색 : 사이트 WHOIS 웹서버 종류

최적화 / 튜닝 / 성능개선 (6, 글 1, 자료 3)
디스크 쿼터(quota) (3, 글 1, 자료 3)
디스크 관리 / 파일시스템 / mount (34, 글 13, 자료 12)
백업(backup) / 시스템 복구 (14, 글 6, 자료 11)
서버운영 (8, 글 2, 자료 9)
프린터 관리 / 프린팅 (7)
패키지 관리 / 패치 / rpm (10, 글 5, 자료 1)
부팅, boot / LILO / GRUB (10, 글 5, 자료 9)
서버 모니터링 (10, 글 5, 자료 2)
로그인 / 로그아웃 (1)
로그(log) / syslog (5, 글 3, 자료 3)
메모리, 스왑(swap), 램디스크(ramdisk) (3, 글 2)
사용자 관리(계정 관리) (1, 자료 1)

  cron로그에 종료시간 남기기 작성일 : 2011/03/15 13:06
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 10990
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      제  목 : cron로그에 종료시간 남기기
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2011.3.14(월)

    crontab에 설정한 명령은 언제, 어떤 명령이 실행되었는지 /var/log/cron파일에 로그로 남는다. 하지만, 언제 명령이 '종료'되었는지는 로그에 남지 않는다. 참고로 Linux(일반적인 경우), FreeBSD 모두 /etc/syslog.conf에 동일한 경로로 설정되어 있다. Ubuntu는 /etc/rsyslog.d/50-default.conf (Ubuntu는 기본적으로 /var/log/syslog에 남음)에서 설정할 수 있다.

     
    Mar 13 13:01:01 cnx1 crond[12406]: (root) CMD (run-parts /etc/cron.hourly)
    Mar 13 14:01:01 cnx1 crond[12416]: (root) CMD (run-parts /etc/cron.hourly)
     





    1. cron로그에 종료시간 남기기

    Ubuntu는 cron데몬 실행할 때 Loglevel을 설정해서 남길 수 있다. -L 2 옵션을 추가하면 종료시간까지 로그로 남긴다.

     
    Mar 14 09:17:01 cnx2 CRON[28274]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
    Mar 14 09:17:01 cnx2 CRON[28272]: (root) END (   cd / && run-parts --report /etc/cron.hourly)
     


    RHEL(CentOS)와 FreeBSD처럼 Loglevel 옵션이 제공되지 않고, debugflag 옵션이 있으나 원하는 로그를 남기지 않았다. 그래서 logger명령을 이용해서 syslog에 종료시간을 남기도록 해봤다. logger는 syslog에 원하는 메시지를 남기는 명령이다. logger에 대해 자세한 글은 man page또는 '2. 참고 자료'를 읽어보기를 바란다.

    logger를 실행하는 1줄짜리 스크립트를 만든다.

    [ /root/bin/l.sh ]
     
    logger -p cron.notice "crond[$1] END (result code : $2)"
     


    그리고, crontab을 수정한다. /etc/crontab 수정한 예이다. /root/bin/settime.sh 뒤에 ;/root/bin/l.sh $$ $? 를 추가해주면 된다. 즉, 원래 명령이 종료되면 바로 로깅을 하게 되는 것이다. 만약 /root/bin/settime.sh > /dev/null 로 설정되어 있다면, /root/bin/settime.sh; /root/bin/l.sh $$ $? > /dev/null 처럼 명령 뒤에만 붙여주면 된다.

     
    2   *   *   *   *   root   /root/bin/settime.sh;/root/bin/l.sh $$ $?
     


    cron 로그 파일에 남은 흔적이다.

     
    Mar 14 17:02:01 cnx1 crond[30081]: (root) CMD (/root/bin/settime.sh;/root/bin/l.sh $$ $?)
    Mar 14 17:02:01 cnx1 logger: crond[30081] END (result code : 0)
     




    2. 관련 자료

    * [기초] 작업 자동화, cron 설정 (crontab 명령) (2003.10, 글 좋은진호)
      http://coffeenix.net/board_view.php?bd_code=97
    * 매달 마지막일에 crontab을 수행하려면 (2004.1, 글 보리수)
      http://coffeenix.net/board_view.php?bd_code=173

    * 쉘에서 실행한 명령을 syslog로 자동 보내기 (logger활용) (2008.11, 글 좋은진호)
      http://coffeenix.net/board_view.php?bd_code=1659
      커피닉스 카페 최근 글
    [06/16] [질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
    [04/22] Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
    [05/16] (주)후이즈 시스템엔지니어 (경력자) 모집
    [02/15] [AWS] Cloudfront edge 확인하기
    [01/20] Mobile Service/eCommerce 기업에서 Server / Java / PHP 개발자 구인
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~