본문 바로가기
리눅스/Part3. Ch02. 프로세스 관리

04. 주기적인 작업 관리

by Engineer-Lee 2022. 7. 17.
반응형

cron (cron job)

  • 정의된 스케줄에 따라 명령을 실행하는 도구
  • cron 작업을 수행하는 데몬은 시스템 시작 시 구동되고, 계속 실행이 됨
  • 스케줄 설정 -> cron table (crontab) 파일 작성
  • crontab 관리
    $ crontab -e : 기존 crontab 항목 편집
    $ crontab -l : crontab 리스트 출력
    $ crontab -r : crontab 삭제
    * root 사용자는 다른 사용자의 crontab 정보도 확인 가능 à crontab -e USER_ID

 

crontab 설정

  • 분(0-59) 시(0-24) 일(1-31) 월(1-12) 요일(0-6) 명령
    예) * * * * * command : 매 1분 마다 명령을 실행
    예) 0 * * * * command : 매 1시간 마다 명령을 실행
    예) 0 0 * * * command : 매 1일 마다 명령을 실행
    예) 0 2 * * * command : 매일 새벽 2시에 명령을 실행
    예) 0 2 * * 6 command : 매주 토요일 새벽 2시마다 명령을 실행

  • 참고
     * 는 모든 것과 일치
     하나의 정수는 정확히 그 값과 일치
     - 기호는 분리된 두 정수 범위 값과 일치
     범위 값 다음에는 단계 값이 포함 (예, 1-10/2)
     , 로 분리된 범위 목록은 나열된 값중 하나와 일치

 

crontab 실습

매분 타임스탬프 값을 로그 파일에 기록

  • 설정 내용
    매분 : * * * * *
    타임스탬프 값 : echo $(/bin/date) - $(/usr/bin/uptime) 
    로그 파일에 기록 : >> /tmp/uptime.log

  • crontab 편집
    $ crontab -e
  • crontab 내용 확인
    $ crontab -l
    $ cat /tmp/uptime.log

  • crontab 내용 삭제
    $ crontab -r

    date : 시간 및 날짜 정보를 출력
    uptime : 가동 시간 및 일부 시스템 정보 출력
반응형