문서 편집

Crontab (Linux)

cron(크론)은 원하는 시간에 명령(프로그램)을 시키기 위한 데몬이다. 서버는 늘 깨어있다는 것을 이용한 최대한의 활용법이 될 수 있다.

  1. 내가 새벽 3시에 서버에 특정 작업을 해줘야하는데 그 때 깨어있을 수 있는가?
  2. 또는 30분간격으로 HDD의 사용량을 운영자에게 알리도록 해야한다면?
  3. 매월 초에 자료를 백업 받고 싶다면?
crontab -l              # 현재 crontab에 등록된 작업보기
crontab -e              # crontab 편집하기

시간 설정에서 몇가지 의미있는 것들을 알아보자.

  • '*'표시는 해당 필드의 모든 시간을 의미한다.
  • 3,5,7 와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
  • 2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다.
  • 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다. (2~10까지 3간격으로. 즉, 3,6,9를 의미함)

매주 토요일 새벽 2:20 
20 2 * * 6 명령어
매일 오후 4,5,6시 
0 4-6 * * * 명령어
매일 2시간간격으로 5분대에 
5 */2 * * * 명령어
매월 1일 새벽 1:15 
15 1 1 * * 명령어
1,7월 1일 새벽 0:30 
30 0 1 1,7 * 명령어
# save every 3 min
*/3 * * * * /home/mine/bin/mc1 save
# restart at 11:55am & 11:55pm
55 11,23 * * * /home/mine/bin/mc1 restart

로그

잘실행되고 있는지 로그를 확인하려면

명령어 뒤에 >> /home/user/crontab.log

우분투 서버버전에서 crontab 사용해보려고 했는데 /var/log 에 crontab 로그파일이 남겨져 있지 않아서 왜 그런지 찾아보니 기본설정이 로그가 남겨지지 않도록 되어있었습니다. 다음과 같이 로그 관련 데몬 설정 파일을 수정하고 데몬을 재시작 시켜 주면 됩니다.

sudo vi /etc/syslog.conf

파일 열어서 crontab 찾아서 코멘트 되어 있는 부분 풀어줍니다.

기타

 52 *  * * * wget -p --spider http://vaslor.net/bb/rssboard.cron.php

매시각 52분에 원격의 php 파일을 실행합니다.

cron 설정파일 저장위치

cd /var/spool/cron/crontabs

여기 들어가면 각 유저별(유저명) cron 설정파일이 들어있다. 직접 변경하려면 Root 권한 필요.

필요없는 이메일 알림 없애기

명령을 수행하고 나서 결과를 이메일로 보내려는 시도를 하는데, 귀찮습니다.

각 명령어의 끝에 > /dev/null 를 붙입니다.

필요없는 syslog 삭제하기

/var/log/syslog

이 파일을 보면 크론이 실행될 때마다 로그가 쌓이는 것을 볼 수 있다. 별 내용도 없고 꼴보기 싫으니 없애보자.

/etc/rsyslog.d/50-default.conf

파일을 보면

  • .*;auth,authpriv.none -/var/log/syslog

라는 항목이 있는데 이곳에 cron.none 을 추가하면 된다.

  • .*;auth,authpriv.none,cron.none -/var/log/syslog

그리고 당연히 디먼 재시작

sudo service rsyslog restart

http://www.linuxtopia.org/online_books/linux_beginner_books/debian_linux_desktop_survival_guide/CRON_Regular.shtml

연결문서

CC Attribution-Noncommercial-Share Alike 4.0 International 별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Noncommercial-Share Alike 4.0 International
3.2 KB tech/crontab.txt · 마지막으로 수정됨 2017/03/05 23:32 저자 V_L V_L

0.046 seconds in processing this page on this powerful server.