Crontab?? 뭔데??

0
post-thumbnail

1. Cron

  • Cron : Unix, solaris, Linux OS에 탑재된 유틸리티로써 백그라운드에서 주기적으로 설정된 명령을 수행할 수 있게 해준다. 그리스 접두사인 Chron에서 파생되었으며, 뜻은 시간이다.
  • 미리 정한 시간에 명령어, 작업 등을 실행할 수 있는 서비스
  • 크론 데몬 crond와 예약작업 정보가 담겨있는 설정파일로 구성
  • cron은 일종의 데몬이다. 즉 한 번 실행되면 시스템에 상주하며 필요할 때마다 동작한다. 크론 데몬은 crond라는 이름을 갖는데, 설정 파일 혹은 crontab에 기록된 날짜나 시간이 되면 지정된 작업을 수행한다.
    Crorn참고

2. Crontab

  • Crontab :
    1 . 먼저 간략히 말하자면, 데몬이 바라보는 작업 리스트
    2. cron작업을 설정하는 파일을 crontab 파일이다.
  • 스케줄 시간과 실행할 파일의 경로를 관리하고, cron은 crontab을 실행한다.

2-1) crontab작업

  • cron을 이용한 스케줄링은 시스템운영에 필요한 작업 / 사용자에게 필요한 작업으로 나뉜다.
  • 시스템 운영에 필요한 작업은 root권한으로 /etc/crontab에 등록해서 수행할 수 있다.
  • 사용자가 필요에 의해 지정하는 작업crontab 명령어를 통해 등록할 수 있다.
  • crontab이 저장되어있는 장소는 각각 유저가 개별적으로 작성할 수 있는 장소, root권한이 필요한 장소로 나뉜다. 그래서, 일반유저로 작성하는 것과, root권한으로 작성하는 방법이 다르기 때문에 주의해야 한다.

  • 개인유저 crontab경로
/var/spool/cron/crontabs
  • root 권한이 필요한 경로(시스템 크론 설정 디렉토리)
/etc/crontab 파일
/etc/cron.d 폴더안

2-2) crontab 명령어

  • crontab 명령어 :
    1. crontab -e : 크론탭의 파일을 수정하거나 새로운 크론잡을 등록할 수 있다.
    1. crontab -l : 크론잡의 리스트와 크론잡이 크론탭 파일 컨텐츠를 볼수 있다.
    2. crontab -r : 크론잡을 삭제 하는 커맨드
    3. crontab -v : 크론탭 파일에서 마지막으로 수정한 내역을 확인하는 커맨드

2-3) crontab 문법

  *   *  *   *   *
# 분  시  일  월   주

# 예 : 매일 오후 630분에 크론잡을 등록하는 경우.
30 18 * * * rm /home/someuser/tmp/*
# 예 : 매시 15분마다 동작하는 크론잡을 등록하는 경우.
15 * * * * rm /home/someuser/tmp/*
# 예 : 5분 간격으로 동작하는 크론잡을 등록하는 경우.
*/5 * * * * rm /home/someuser/tmp/*
# 예 : 매 5시간 간격으로 동작하는 크론잡을 등록하는 경우.
* */5 * * * rm /home/someuser/tmp/*
# 예 : 크론잡 로그파일을 등록하는 경우.
30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

2-4) crontab 파일 위치

  • Mac OS X : /usr/lib/cron/tabs/
  • BSD Unix : /var/cron/tabs/
  • Solaris, HP-UX, Debian, Ubuntu : /var/spool/cron/crontabs/
  • AIX, Red Hat Linux, CentOS, Ferdora : /var/spool/cron/

참고블로그

profile
끝날때 까지 끝난게 아니야. 결국 내가 이겨!

0개의 댓글