2018. 11. 27. 01:00
- 프로세스 예약 데몬
- 리눅스용 작업 스케줄러
- 특정시각에 명령어가 수행되도록 등록가능
- 구성: crond(데몬) + crontab(제어프로그램) = cronie(패키지)
- 로그: /var/log/cron에 변경/수행 이력이 기록됨
등록형식
* * * * * 수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0 =일요일)
│ │ │ └────────── 월 (1 - 12)
│ │ └─────────── 일 (1 - 31)
│ └──────────── 시 (0 - 23)
└───────────── 분 (0 - 59)
- → 이렇게 설정하면 매 1분마다 작업 수행
- → 각 자리는 "분시일월요"를 뜻함
예시
* * * * * /root/every_1min.sh
- → 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[1])
15,45 * * * * /root/every_30min.sh
- → 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[2])
*/10 * * * * /root/every_10min.sh
- → 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[3])
0 2 * * * /root/backup.sh
- → 매일 02:00에/root/backup.sh 를 수행 (하루에 1회)
30 */6 * * * /root/every_6hours.sh
- → 매 6시간마다 수행(00:30, 06:30, 12:30, 18:30)
30 1-23/6 * * * /root/every_6hours.sh
- → 1시부터 매 6시간마다 수행(01:30, 07:30, 13:30, 19:30)
- 현재 사용자
[root@monkey ~]# crontab -l no crontab for root
- 다른 사용자
[root@monkey ~]# crontab -l -u testuser no crontab for testuser
직접 등록
crontab -e
vi 편집기로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.
현재 사용자의 예약작업을 모두 삭제
crontab -r
- 실행예시
[root@monkey ~]# crontab -l * * * * * /root/a.sh * * * * * /root/b.sh * * * * * /root/c.sh [root@monkey ~]# crontab -r [root@monkey ~]# crontab -l no crontab for root
FAQ
- 1) cron 설정한 후에는 crond 데몬을 재실행해야 하나요?
아닙니다. crontab -e 으로 설정 후 빠져나오면 바로 적용됩니다.
2) truefeel 사용자는 cron을 못 쓰게 하고 싶습니다.
/etc/cron.allow : 허용할 사용자 ID 목록
/etc/cron.deny : 거부할 사용자 ID 목록
cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny 파일이 있으면 이 파일에 들어있는 ID는 사용 불가
따라서 cron.deny에 truefeel ID를 추가해주면 됩니다.
3) > /dev/null 2>&1 이 무슨 뜻입니까?
지정한 명령어 처리 결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다는(/dev/null)는
뜻입니다. 만약 결과와 에러를 파일로 저장하려면 /dev/null 대신 파일명을 적어주면 됩니다.
'리눅스' 카테고리의 다른 글
리눅스 디렉토리 구조를 알아보자!! (0) | 2018.11.27 |
---|---|
scp 명령어 사용법: 파일전송/디렉토리전송 (0) | 2018.11.27 |
find 명령어 사용법 정리!! (0) | 2018.11.27 |
centos hostname 변경하는 방법!! (0) | 2018.11.27 |
리눅스 계정 생성 및 삭제 방법, 패스워드 설정 방법 (0) | 2018.11.21 |