crontab 사용방법
Crontab
Crontab은 스케줄링을 관리하는 프로그램으로 시스템 관리자에게 매우 중요한 유틸이다. 특정 시간대에 사용자가 작성한 스크립트나 명령을 실행할 수 있다. 이는 rsync와 같은 툴을 같이 사용하여 굉장히 편리한 백업 시스템을 만들 수도 있고 데이터 베이스 관리나 기타 반복적인 업무를 간편하게 등록하여 사용할 수도 있다.
- 등록형식
* * * * * 수행할 명령어
- 사용법
① *, -, / 기호 사용
'*' 표시는 해당 필드를 의미함, 첫번째필드, 두 번째 필드, 세 번째 필드...
1,2,3과 같이 콤마(,)로 구분하여 시간대를 여러 개 지정할 수 있음
1-12과 같이 '-'기호로 시간 범위를 지정
1-12/2와 같이 '-'기호로 시간 범위, 슬래쉬(/)로 시간 간격을 지정할 수 있음
② 예시
ex) * * * * * /script/backup.sh -> 매 1분마다 /script/backup.sh 실행
0 * * * * * /script/backupp.sh -> 매 시간 0분에 /script/backup.sh 실행
50 * * * * * /script/backup.sh -> 매 시간 50분에 /script/backup.sh 실행
10,20,40 * * * * /script/backup.sh -> 매시 10분, 20분, 40분에 /script/backup.sh 실행
*/10 * * * * /script/backup.sh -> 10분마다 /script/backup.sh 실행
00 00 * * * /script/backup.sh -> 매일 자정에 /script/backup.sh 실행
* */8 * * * /script/backup.sh -> 매 8시간마다 /script/backup.sh 실행
00 11 * * 1-5 /script/backup.sh -> 평일(월요일부터 금요일까지) 오전 11시에 /script/backup.sh 실행
00 00 * * * root /script/backup.sh -> 매일 자정에 root 권한으로 /script/backup.sh 실행
00 00 * * * root ntpdate -b 192.168.10.111 && hwclock -w -> 매일 자정에 root권한으로 ntpdate 명령을 실행해서 192.168.10.111 서버와 시간 동기화 진행
- 명령어
crontab -l : 현재 사용자의 작업 리스트 확인
crontab -e : 현재 사용자의 작업 수정
crontab -r : 현재 사용자의 예약된 작업을 모두 삭제
- cron 접근 제한 설정
/etc/cron.allow
파일이 없는 게 기본값이고 vi편집기를 사용해서 사용을 허가하고 싶은 사용자를 등록해서 사용
/etc/cron.deny
기본값을 비어있고 사용제한을 걸어둘 사용자를 등록해서 사용
ex)
/etc/cron.deny
- tip
/etc에 아래 특정 디렉터리를 등록해 높으면 그 폴더안의 실행 파일을 crontab의 설정 시간 마다 실행한다.
특정 디렉토리 : /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly
'Linux' 카테고리의 다른 글
마운트 시 오류 'mount error(112): Host is down' (0) | 2019.01.25 |
---|---|
error db5 error(11) from dbenv- open resource temporarily unavailable (0) | 2019.01.22 |
ffmpeg 실행시 오류 (0) | 2019.01.22 |
Single Mode 부팅진입 및 CLI, GUI, 복구 모드로 변경 (0) | 2017.11.25 |
vi editor (0) | 2017.10.09 |