프로세스 스케줄링
: 특정한 시간에 특정한 작업을 수행 하도록 설정하는 것
: 리눅스에서는 at과 cron을 통해 스케줄링을 실행
> atd와 crond가 기본적으로 실행되어 프로세스 스케줄을 관리
- at
: 한 번만 실행할 때 사용
- cron
: 주기적으로 실행할 때 사용
프로세스 스케줄링 관련 명령어
- at
- crontab
at
: 1회성으로 실행할 예약 작업 등록
: 명령 실행 후 추가적으로 터미널이 나오는데, 해당 터미널에서 실행할 명령어 입력
: /var/spool/at 디렉터리에 등록한 작업에 대한 Queue 파일이 저장됨
- 형식
: at [option] <time>
- 주요 옵션
: -c
> 작업 정보 출력
: -d
> 예약한작업 삭제
: -l
> 큐에 있는 작업 출력
: -f
> 파일을 지정하여 작업을 읽어옴
crontab
: 주기적인 작업을 등록하기 위한 명령어
: 명령 실행 후 vim이 실행되며 /var/spool/cron/<user id>로 파일이 저장됨
- 형식
: crontab [option] [file]
- 주요 옵션
: -l
> crontab에 설정된 내용 출력
: -e
> crontab의 내용 작성 혹은 수정
: -r
> crontab에 설정 파일 삭제
: -u
> 특정 사용자의 crontab 파일 제어
: -i
> crontab 파일 삭제 전 질의 실행
- crontab 파일의 형식
minute hour day month week user_name command
=> 모든 설정을 기재해야함. 설정하지 않을 항목은 . 으로 기재
=> 항상 (*) / 주기 (n-n)
- crontab 파일의 항목별 설명
: minute
> 실행할 분
: hour
> 시
: day
> 날짜 (일)
: month
> 월
: week
> 요일
: username
> 사용자
: command
> 명령어
- crontab 예시
```
0 12 * * 1-5 /home/test/excute.sh
> 월요일 부터 금요일까지 오후 12시에 execute.sh 실행
*/30 * * * * /home/test/check.sh
> 매일 30분 주기로 check.sh 실행
```
리눅스 스케줄링 관련 파일 및 디렉터리
- /var/spool/at
- /etc/at.allow
- /etc/at.deny
- /var/spool/cron
- /etc/cron.allow
- /etc/cron.deny
/var/spool/at
: at 명령어로 설정한 스케줄 정보가 저장된 디렉터리
/etc/at.allow
: at으로 설정한 스케줄에 대해 실행을 허용할 사용자를 설정하는 파일
/etc/at.deny
: at으로 설정한 스케줄에 대해 실행을 거부할 사용자를 설정하는 파일
/var/spool/cron
: cron 명령어로 설정한 스케줄 정보가 저장된 디렉터리
/etc/cron.allow
: cron으로 설정한 스케줄에 대해 실행을 허용할 사용자를 설정하는 파일
/etc/cron.deny
: cron으로 설정한 스케줄에 대해 실행을 거부할 사용자를 설정하는 파일
Refference
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 파일 압축 (0) | 2022.10.10 |
---|---|
리눅스 소스 파일 및 패키지 설치 (0) | 2022.10.10 |
리눅스 프로세스 관리 (0) | 2022.10.10 |
리눅스 파일링크 (소프트 링크 / 심볼릭 링크 / 하드 링크) (0) | 2022.10.10 |
리눅스 Disk Quota 설정 (0) | 2022.10.10 |