본문 바로가기

Programming/Linux

[Linux/CentOS] 리눅스 cron과 at

ntsysv

- 리눅스 서비스(데몬)의 시작, 중지, 재시작 및 사용 여부 설정


cron

- 주기적으로 반복되는 일을 자동 실행하도록 시스템 작업 예약

- cron과 관련된 데몬(서비스)는 cron이며, 관련 파일은 [ /etc/crontab ]임

- 작성 형식 확인 : [ cat /etc/crontab ]

 

- 형식

분 시 일 월 요일 사용자 실행명령

 

(ex) 00 05 1 * * root cp -r /home /backup

==> 매월 1일 새벽 5시 정각에 root 사용자로 backup 디렉터리를 home으로 복사할 것

 

- cron(크론)은 주기적으로 실행할 내용을 디렉터리에 넣어놓고 작동함

  • 시간별 : /etc/cron.hourly/
  • 일   별 : /etc/cron.daily/
  • 주   별 : /etc/cron.weekly/
  • 월   별 : /etc/cron.monthly/

[예시]

  • 01 * * * * root run-parts /etc/cron.hourly
    매 시간 1분에 /etc/cron.hourly 디렉터리 안의 명령들을 자동 실행

  • 02 4 * * * root run-parts /etc/cron.daily
    매일 4시 2분에 /etc/cron.daily 안에 명령들을 자동 실행

run-parts 디렉터리
해당 명령어는 디렉터리 안의 명령을 모두 실행

 

  • 크론 리스트 조회
    crontab -l

  • 내용 수정
    crontab -e

  • crontab은 vi 에디터로 조회할 경우 파일 내용이 전부 사라지기에 하면 안 됨

at

- 일회성 작업 예약

- 예약시 한 번만 실행되고 소멸

 

[사용법]

  • 예약 : at 시간
    (1) at 3:00am tomorrow ==> 내일 새벽 3시
    (2) at 11:pm January 30 ==> 1월 30일 오후 11시
    (3) at now +1 hours ==> 한 시간 후
  • 프롬프트에 예약 명령어 입력 후 엔터
  • 완료 : Ctrl + D
  • 확인 : at -l
  • 취소 : atrm 작업번호

실습

  1. systemctl
    -  서비스 시작, 중지, 상태 확인 등을 하는 명령어

  2. cron 예약 파일 열기
    - gedit /etc/crontab

  3. 시간 동기화
    - rdate -s time.bora.net

  4. 현재 시간 확인
    - date