Linux 스케줄러 CronTab
May 7, 2024
»
os
Linux CronTab 사용법
Cron, Crontab 이란
Cron : 일반적으로 스케줄 서비스의 이름이며,
소프트웨어 데몬으로 유닉스 계열에서
시간 기반 작업 스케줄로 소프트웨어 환경을 설정 및 관리하고
관리자가 원하는 시간, 날짜에 주기적으로 실행할 수 있도록 해준다.
Crontab : crontab은 작업 목록 및 cron 데몬에 대한 명령어들이 보관된 위치에 저장되어 있다.
# ┌───────────── 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
< Crontab 스케줄 구조 >
crontab 시간 적용방법
분(0-59) | 시(0-23) | 일(1-31) | 월(1-12) | 요일(0-7) | 쉘경로 |
---|---|---|---|---|---|
1 | 11 | 3 | * | * | shell_path |
※ 주의사항
명령어 작성법과, cronTab 설정파일 위치에 있는 설정 폴더가 따로 있다.
두가지 방법을 적절히 사용하되 명령어에 없다고 스케줄러가 없는건 아니다.
- crontab 명령어로 작업
- crontab -l : crontab 목록 나열
- crontab -e : crontab 수정
- crontab -r : crontab 삭제
- 자세한 옵션을 확인하려면 info crontab 으로 확인바랍니다.
2번을 실행 시 (vi) 화면이 열림
아래와 같이 해당하는 시간에 맞춰 작성한다.
ex) 1. 0 2 * * * /쉘파일 위치/backup.sh
매일 새벽 두시에 쉘파일 실행
ex) 2. 45,5 10 * * 1-5 /쉘파일 위치/backup.sh
월~금요일 매월 매일 10시 5분과 45분에 실행
- crontab -l : crontab 목록 나열
- crontab 설정파일에서 작업
- 위치 : 필자는 /etc 하위에 위치해있다.
- /etc/cron.d : 소프트웨어 패키지를 설치할 때 필요한 주기적 작업을 등록하는 공간으로 사용.
- /etc/crontab : 관리자가 직접 지정한 작업을 설정하며 , 임의의 사용자 권한으로 실행할 수 있다.
시스템 관련 작업을 등록하는 곳이다. - /etc/cron.hourly : 시간
- /etc/cron.daily : 일별
- /etc/cron.weekly : 주별
- /etc/cron.monthly: 월별