Search

cron

서버에 부하 또는 에러 발생 시 서버가 종료될 수 있다. 이 때 nuhup 명령어를 통해 서버가 종료 되었다는 로그를 남길 수 있다.
하지만 이를 통해 중지된 서버를 재시작할 순 없다.
cron은 UNIX 계열의 잡 스케줄러로, 주기적으로 특정 명령어를 실행해준다. 이를 통해 서버를 자동으로 재시작할 수 있다.
crontab 명령어를 통해 cron job을 갱신할 수 있다.
> crontab -e #Edit this file to introduce tasks to be run by cron # ... * * * * * ls -al 1>>cron.log
Bash
복사
이는 주기적으로 ls 명령어를 실행하여 결과를 cron.log 파일에 덧붙이는 스크립트이다.
여기서 첫 줄의 5개의 아스트리크는 시간을 나타내며, 각 위치는 분(0~59), 시(0~23), 일(1~31), 월(1~12), 요일(0~7) 을 나타낸다.
위의 스크립트는 매 분 마다 ls를 실행한다. 만약 매 평일 9시 30분에 스크립트를 실행 시키고 싶다면, 다음과 같이 기재할 수 있다.
30 9 * * 1-5
Bash
복사
cron은 다양한 표현식을 가지고 있으니 참고하여 작성할 수 있다.
스크립트를 직접 작성하여 자동화 할 수도 있다.
> vi myCronScript.sh # crontab에 있는 내용을 그대로 출력 > cron-new파일 crontab -l 1>cron-new #cron-new에 myJob.sh 추가 echo "* * * * * /path/to/myJob.sh" 1>>cron-new #crontab에 cron-new 반영 crontab cron-new #cron-new 파일 삭제 rm -f cron-new >vi myJob.sh ls -al 1>>myCronScript.log
Bash
복사
이 스크립트는 기존의 crontab 작업에 사용자가 myJob란 스크립트로 정의한 새 작업을 덧붙인다.