주기적인 작업은 '매 주 토요일 마다' 또는 '매 월 첫 번째 수요일' 과 같이 특정 주기마다 실행되는 작업을 의미.
주기적인 작업을 예약할 때는 crontab 명령.
crond 데몬
- crond 데몬은 crontab 명령을 사용하여 예약한 주기적인 작업을 실행
- 사용자가 예약한 작업들은 /var/spool/cron 디렉토리에 각 사용자 이름으로 생성된 파일에 저장
[root@test1 ~]# ls -l /var/spool/cron/
total 8
-rw-------. 1 root root 32 May 24 11:22 root
-rw-------. 1 user user 1 May 24 11:21 user
crontab 명령 사용
crontab -e 명령을 사용하여 작업 예약
[root@test1 ~]# crontab -e
[분] [시] [일] [월] [요일] [명령어]
#월 1(Feb)~12(Dec)
#요일 0(Sun) 1(Mon) 2(Tue) ... 6(Sat) 7(Sun)
예시 |
설명 |
* * * * * echo |
“1분 마다” |
0 * * * * echo |
“1시간 마다” |
30 7 * * 1 echo |
“매주 월요일 7:30분” |
0 0 25 12 * echo |
“매년 크리스마스 마다” |
0 9-18 * * * echo |
“9시부터 18시 까지” |
0 9,12,18 * * * echo |
“아침점심저녁으로만” |
*/3 * * * * echo |
“3으로 나눠 떨어질 때(매 3분마다) (0분 3분 6분 9분…)” |
메타 문자 |
설명 |
* |
조건에 대해 무조건 참(True)을 의미 |
- |
범위를 지정할 수 있음 |
, |
다수의 값을 지정할 수 있음 |
/ |
조건에 대한 주기를 지정할 수 있음 |
crontab -l
[root@test1 ~]# crontab -l
*/10 * * * * user echo hi
crontab -r