목차
sh 파일 작성
전에 작성한 NodeBB와 라이믹스&미디어위키 설치법에서 crontab을 통해 SSL을 자동 갱신하는 부분이 있다.
오늘 다시 확인해보니 오류가 발생해서 Crontab 사용법을 다시 알아봤다.
기존에 했던 방법을 살펴보니 crontab을 통해 명령어가 적힌 sh(쉘) 파일을 일정 시간마다 실행하는 것이다.
sh 파일 대신 명령어를 직접 실행할 수도 있지만 이 방법이 나중에 수정하기 더 편한 것 같다.
sh 파일을 작성할 때는 아래와 같이 작성하면 된다.
#!/bin/bash
# 원하는 스크립트 내용
echo "test"
작성 후에 해당 파일을 실행할 수 있게 권한을 변경한다.
$ chmod +x 파일명.sh
파일명을 입력하면 바로 실행된다.
$ 경로/파일명.sh
Crontab 설정
아래 명령어로 crontab 설정 파일을 연다.
$ crontab -e
열린 파일의 하단에 실행할 주기와 내용을 적어주면 된다.
* * * * * 경로/파일명.sh
앞의 * 들이 실행 주기를 설정하는 부분이다.
앞부터 각각 분/시/일/월/요일을 뜻한다.
아래와 같이 입력하면 매달 1일 4시 30분에 sh 파일이 실행된다.
30 4 1 * * 경로/파일명.sh
10분마다 실행하고 싶다면 아래와 같이 입력하면 된다.
*/10 * * * * 경로/파일명.sh
1분마다 실행하고 싶다면 10을 1로 바꿔주면 된다.
*/1 * * * * 경로/파일명.sh
Crontab 메일 발송 금지
10분 단위로 crontab이 실행되게 했더니.. 아침에 메일이 80개가 쌓여있다...
접속한 유저의 crontab에서 메일이 오지 않게 하려면 crontab 리스트의 가장 위에 아래 내용을 추가한다.
MAILTO=""
특정 실행에서만 메일을 받지 않으려면 명령어 뒤에 아래 내용처럼 >& /dev/null을 추가해준다.
*/1 * * * * /bin/usr/weblog.sh >& /dev/null