작업 스케줄러
- 일회성 작업 : at
- 주기적 작업 : cron
일회성 작업 : at
- atd 데몬에 의하여 동작
- 일반 사용자 / 관리자 모두 사용 가능
- /etc/at.allow : at을 사용할 수 있는 사용자
- /etc/at.deny : at을 사용할 수 없는 사용자
- /etc/at.allow 파일이 있을 경우: 이 파일 내에 기록된 사용자만 at 사용 가능
- /etc/at.allow 가 없고 /etc/at.deny 파일이 있을 경우: at.deny에 명시된 사용자만 at 사용 불가
- /etc/at.allow, /etc/at.deny 모두 없는 경우 : root만 사용 가능
- 작업을 예약한 사용자의 권한으로 예약 작업 실행
- 일반 사용자는 자신의 작업만 조회 가능
- root는 모든 사용자의 작업 조회 가능
- 예약된 작업은 별도의 Shell을 생성하여 수행됨 : echo와 같이 화면으로 출력하는 예약 작업은 현재 터미널에 출력되지 않음
- 명령어 : at
- # at <TIMESPEC>
- timespec : /usr/share/doc/at-*/timespec 문서 참고
- hh:mm - 24시간 제로 표기하는 시간
- hh:mm am/pm - 12시간 제로 표기하는 시간
- hh:mm yy-mm-dd : 연월일 시분 지
- now +5 min
- teatime : 오후 4시 (16:00)
- noon : 정오
- tomorrow : 내일
- -l : 예약된 작업의 목록 확인 (= atq)
- 3 Fri Mar 12 00:00:00 2021 a root
- 3 : 예약된 작업의 번호
- Fri Mar 12 00:00:00 2021 : 예약일자
- a : queue 번호 (a~z)
- root : 작업을 예약한 사용자
- at 작업 삭제 : atrm <작업 번호>
- at 설정을 통해 생성되는 파일 위치 : /var/spool/at/ 내에 스크립트 파일로 생성. 작업 예약한 사용자의 소유로 생성됨
주기성 작업 : cron
- crond 데몬에 의하여 관리됨
- 일반 사용자/관리자 모두 사용 가능 : /etc/cron.allow, /etc/cron.deny
- 명령어 : crontab
- 작업 생성 및 수정 : crontab -e
- 작업 조회 : crontab -l
- 예약 작업 전체 삭제 : crontab -r
- cron 설정 정보 파일 : /var/spool/cron/[사용자명]
- 주기 예약 방식
- * * * * * [예약 작업내용]
- 분 : 작업을 수행할 분 지정. (* : 매분 = 0~59)
- 시 : 작업을 수행할 시 지정. (* : 매시 = 0~23)
- 일 : 작업을 수행할 일 지정. (* : 매일 = 1~28 or 29 or 30 or 31)
- 월 : 작업을 수행할 월 지정. (* : 매월 = 1~12)
- 요일 : 작업을 수행할 요일 지정 (* : 매일 = 0~7)
- 0:일요일 1:월요일 2:화요일 …. 6:토요일 7:일요일
- 각 항목에 여러 값 입력 가능: , 로 나열
- 0 9,10,11,12,13,14,15 * * * : 매일 9시부터 15시까지
- 범위 지정 가능: - 기호로 범위 표시 가능
- 0 9-18 * * * : 매일 9시부터 18시까지
- 간격 지정 가능 : / 기호로 간격 지정
- */2 9 * * * : 매일 9시 00분부터 2분 간격
- 예약 주기 예시
- 매일 아침 8시 : 0 8 * * *
- 매주 월요일 아침 7시 : 0 7 * * 1
- 6월부터 8월까지 오후 14 30분 : 30 14 * 6-8 *
- 오후 2시 00분부터 3시 전까지 2분 간격으로 반복 : */2 14 * * *
시스템 cron
- /etc/crontab 파일 : 일반적으로 이 파일을 직접 수정하지 않음
- /etc/cron.d 디렉터리 : 이 디렉토리 내에 파일을 추가하여 수정
- * * * * * [사용자] [작업] : 특정 사용자를 지정하여 작업 수행
anacron
- /etc/anacrontab
- 실행 여부를 확인하고 누락되었을 경우 실행 가능할 때 다시 작업 수행
*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.
'IT > Linux' 카테고리의 다른 글
방화벽관리(firewalld) (0) | 2021.04.03 |
---|---|
로그관리(rsyslog,journal) (0) | 2021.04.01 |
systemd (0) | 2021.03.29 |
저장소 관리(LVM,RAID) (0) | 2021.03.27 |
저장소 관리 (파티션,파일 시스템,스왑) (0) | 2021.03.25 |
댓글