작업 스케줄러
일회성 작업 : 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 yyyy-mm-dd - 년/월/일/시/분 표기
- now +5min
- teatime - 오후 16시, 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 : 작업을 예약한 사용자
작업 삭제 : atrm [작업번호]
at 설정을 통해 생성되는 파일 위치 : /var/spool/at/ 내에 스크립트 파일로 생성, 작업 예약한 사용자의 소유로 생성됨
주기적 작업 : cron
crond 데몬에 의하여 관리됨
일반사용자/ 관리자 모두 사용 가능 : /etc/cron.allow, /etc/cron.deny
명령어 : crontab
- 작업 생성 및 수정 : crontab -e - vi편집기를 사용하여 작업내용 작성
- 작업 조회 : crontab -l
- 예약작업 전체 삭제 : crontab -r
주기 예약 방식 : cat /etc/crontab
# For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed # 0 8 * * * command//매일 아침 8시 command 실행 # 0 7 * * 1 command//매일 월요일 아침 7시 command 실행 # 30 14 * 6-8 * command//6월부터 8월까지 오후 14시 30분 command 실행 # */214 * * * command//오후 2시 00분부터 3시 전까지 2분 간격으로 반복 command 실행
시스템 cron
/etc/crontab 파일
/etc/cron.d 디렉토리 : 해당 디렉토리 내에 파일을 추가하여 수정
* * * * * [사용자] [command] : 특정 사용자를 지정하여 command 수행
anacron
cat /etc/anacrontab // 명령어 수행 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly # /etc/cron.(daily,weekly.monthly)(매일,매주,매월) 디렉터리 내에 스크립트 파일 생성하여 주기적으로 실행되는 스케줄러 생성 가능
- 실행여부를 확인하고 누락되었을 경우 실행 가능할 때 다시 작업 수행
'클라우드 아키텍트 양성과정' 카테고리의 다른 글
리눅스(CentOS) 네트워크 관리(기초,NetworkManager,호스트이름) (0) | 2021.04.26 |
---|---|
리눅스(CentOS) 로그관리(rsyslog,journal) (0) | 2021.04.26 |
리눅스(CentOS) 소프트웨어 패키지 관리(rpm, yum) (0) | 2021.04.26 |
리눅스(CentOS) systemd (0) | 2021.04.26 |
리눅스(CentOS) 저장소 관리(LVM, RAID) (0) | 2021.04.26 |
댓글