[인턴기록] Scheduled jobs, cron

Romy·2021년 11월 16일
0

인턴기록

목록 보기
2/11

Schedule jobs

정의

특정 시간에 수행하거나 반복 예약에 따라 수행할 수 있는 자동화된 작업.

자동화 예시

1) 보고서 자동 생성 및 배포
2) 템플릿에서 이벤트, 변경 항목, 구성 항목 등을 자동 생성 및 예약
3) 스크립트 또는 비즈니스 규칙에서 예약된 작업 실행
4) 월말 예약, 평일 예약


Cron

정의

  • 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다.
  • 소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용한다.
  • 특정 시각에 명령어가 수행되도록 가능하다.
  • 프로세스 예약 데몬, 리눅스용 작업 스케줄러
  • cronie(패키지) = crond(데몬) + crontab(크론 계획표)

crontab

  • 셸 명령어들이 주어진 일정에 주기적으로 실행하도록 규정해놓은 파일이다.
  • crontab 파일들은 잡 목록 및 cron 데몬에 대한 다른 명령들이 보관된 위치에 저장되어 있다.
  • 사용자들은 자신들만의 개개의 crontab 파일들을 가질 수 있으며, 가끔은 /etc 또는 /etc의 하위 디렉터리에 시스템 관리자들만이 편집할 수 있는, 시스템 전반에 영향을 미치는 crontab 파일이 존재하는 경우도 있다.
    : usr/bin/crontab, /usr/sbin/crond

구성파일

사용자를 위한 구성 파일은 crontab -e를 호출하여 편집할 수 있다.
crontab -r 를 호출하여 현재 사용자의 예약작업을 모두 삭제 가능하다.

 # ┌───────────── min (0 - 59)
 # │ ┌────────────── hour (0 - 23)
 # │ │ ┌─────────────── day of month (1 - 31)
 # │ │ │ ┌──────────────── month (1 - 12)
 # │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 # │ │ │ │ │
 # │ │ │ │ │
 # * * * * *  command to execute

예시

* * * * * /root/every_1min.sh

-> 매 1분마다 /root/every_1min.sh를 수행

* /10 * * * /root/every_1min.sh

-> 10분마다 /root/every_1min.sh를 수행

0 2 * * * /root/backup.sh

-> 매일 02:00에 /root/backup.sh를 수행



profile
👩‍💻 IT Engineering

0개의 댓글