미리 저장한 작업을 일정 기간마다 실행되게끔 해주는 작업이다. crond라는 데몬과 직접적인 관련이 있다. /etc/crontab
을 편집하여 사용한다. crontab 명령어는 /usr/bin/crontab
에 위치한다.
다음은 라즈비안에 등록된 crontab 내용 중 일부이다.
# m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
위에서 볼 수 있듯이 형식은 다음과 같다.
분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령
입력할 수 있는 값은 다음과 같다.
분 | 00 ~ 59 |
---|---|
시간 | 00 ~ 23 |
날짜 | 00 ~ 31 |
달 | 1 ~ 12 |
요일 | 0 ~ 7 (0 = 일요일) |
그 외 다음의 기호들을 사용할 수 있다.
* | everytime |
---|---|
- | 해당 시간 사이 예) 시간 항목에 1-3 이면 1시에서 3시 사이 |
, | 구분 예) 시간 항목에 1,3 이면 1시, 3시 |
/ | 뒤에 오는 단위별로 매번 예) 분에 */2 인 경우 2분 단위로 실행 |
다음은 매주 월요일 새벽 1시에 서버를 종료한다.
00 1 * * 1 root shutdown -h now
스크립트를 실행할 수 있는 권한이 있으면 다음과 같이 스크립트를 실행할 수 있다.
0 8 * * * root sh /root/backup.sh
/etc/crontab
의 권한은 644이기 때문에 일반 사용자도 읽을 수 있다. 그러므로 비밀번호가 포함된 명령은 넣지 않거나 crontab의 권한을 변경해준다.