하은양 믿음군 효실맘 호홍홍집s

linux crontab 이용하기 본문

가벼운 배움/서버관련

linux crontab 이용하기

호홍홍집 2016. 6. 15. 17:00

참조 : http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab

등록형식[편집]
*    *    *    *    *  수행할 명령어
┬   ┬   ┬   ┬   ┬
│   │   │   │   │
│   │   │   │   │
│   │   │   │   └───────── 요일 (0 - 6) (0 =일요일)
│   │   │   └────────── 월 (1 - 12)
│   │   └─────────── 일 (1 - 31)
│   └──────────── 시 (0 - 23)
└───────────── 분 (0 - 59)

→ 이렇게 설정하면 매 1분마다 작업 수행
→ 각 자리는 "분시일월요"를 뜻함
예시[편집]* * * * * /root/every_1min.sh

→ 매 1분마다 /root/every_1min.sh 를 수행 (하루에 1440회[2])
15,45 * * * * /root/every_30min.sh

→ 매시 15분, 45분에 /root/every_30min.sh 를 수행 (하루에 48회[3])
*/10 * * * * /root/every_10min.sh

→ 10분마다 /root/every_10min.sh 를 수행 (하루에 144회[4])
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)
0 8 * * 1-5 /root/weekday.sh

→ 평일(월요일~금요일) 08:00
0 8 * * 0,6 /root/weekend.sh

→ 주말(일요일, 토요일) 08:00

**************   crontab 실행, 정지, 재시작
우선 실행되는지 확인
ps -ef | grep crond

/etc/init.d/crond start
/etc/init.d/crond stop
/etc/init.d/crond restart
혹은
/etc/rc.d/init.d/crond start
/etc/rc.d/init.d/crond stop
/etc/rc.d/init.d/crond restart

 

*************  crontab 에서 ***************  > /dev/null 2>&1 의 의미는?
참조 : http://sdr1982.tistory.com/146

$ crontab -e
# /home 디렉토리를 /BACKUP/home 으로 백업해둠
#
# 30분, 새벽 4시와 낮 12시, 모든 일, 모든 월, 모든 요일
30 4,12 * * *  /usr/bin/rsync -avxH --delete /home /BACKUP/home > /dev/null 2>&1
#
# 파일/디렉토리 퍼미션 설정
# 40분, 새벽 1시, 매주 일요일
40 1    * * 0  /root/bin/perm_set.sh   > /dev/null 2>&1

> 는 리다이렉트(redirect)를 위한 것입니다.

역자 설명) 화면에 출력된 내용(stdout)을 오른쪽에 나올 파일(여기서는 /dev/null)로 결과를 보내라는 뜻입니다.

/dev/null 은 어떤 데이터를 보내든 블랙홀로써 전부 버려질 것입니다.

2 는 표준 에러를 뜻하는 파일 디스크립터(file descriptor) 입니다.

> 는 리다이렉트(redirect)를 위한 것입니다.

& 파일 디스크립터를 뜻하는 심볼입니다. (이 기호가 없으면 다음 1 은 파일이름으로 간주될 것입니다.)

1 은 표준 출력을 뜻하는 파일 디스크립터(file descriptor) 입니다.

그러므로 >/dev/null 2>&1 는 프로그램의 출력을 /dev/null로 보냅니다(redirect). 보낼 때 표준에러 와 표준출력이 포함됩니다.