일상적이고 주기적인 작업을 지정한 시간에 실행시키는 것이 cron입니다.
이것은 crond라는 이름의 데몬으로 작동하고 있으며 리눅스 설치시 기본적으로 작동하게 됩니다.
설정 파일의 위치는 /etc/crontab 이며, crontab의 내용은 구동 시간 설정하고 실행할 명령을 적는 것으로 간단하게 설정 작업을 할 수 있습니다.
crontab에는 일정시간 자동으로 실행시키는 프로그램들의 스케쥴을 적어 놓은 파일입니다.
예를 들어서, 일정시간에 데이터들이 백업이 될수 있도록 특정한 쉘을 구동시켜준다거나, 로그파일이 너무 많이 쌓이지 않도록 일정시간마다 로그파일을 교환을 해준다거나 시스템에 있는 디비 정보들을 갱신한다거나 많은 자동화를 할 수 있는 방법에 사용됩니다.
crontab 옵션에는 –l, -e, -r 이 있습니다.
crontab –l 명령은 예약된 작업리스트들(내용)을 볼 때 사용하는 명령.
crontab –e 명령은 편집할 때 쓰는 명령.
crontab –r 명령은 작업을 삭제하는 명령.
분, 시, 일, 월, 요일 명령어 순서로 쓰면됩니다.
예) 10 10 *** /var/ttt.sh
이것은 10시 10분에 ttt.sh라는 쉘 프로그램을 실행하라는 의미입니다. ’ * ‘ 는 모든 것을 뜻합니다.
아래는 실제 crontab에 설정된 내용과 설정 파일에 대한 설명입니다.
# ch_perm 업데이트 스크립트
00 3 * * * root /root/bin/ch_perm #매일 3시 정각에 ch_perm 실행
# 백업 스크립트
00 4 * * * root /root/bin/backup.sh #매일 4시 정각에 backup.sh실행
# ssh dos 공격막기
*/30 * * * * root /root/bin/ssh_dos_block.sh #30분간격으로 ssh_dos_block.sh 실행
# rkhunter DB 업그레이드
42 2 1 * * root /usr/local/bin/rkhunter --update #매달 1일 2시 42분마다 rkhunter update
# syslog
02 6 * * * root /etc/rc.d/init.d/syslog restart #매일 6시 2분에 syslog restart
# Nmanager rrd
*/5 * * * * root /root/Nmanager/cron/rrd #매일 5분마다 /root/Nmanager/cron/rrd 실행