linux class 1 페이지

본문 바로가기
사이트 내 전체검색


회원로그인

linux class

작업예약 스케쥴

페이지 정보

작성자 admin 작성일15-12-23 12:19 조회376회 댓글0건

본문

cron - 주기적으로 실행될 작업 예약
at - 한번만 실행될 작업 예약

cron 서비스 데몬은 crond.
 at 서비스 데몬은 atd.

crontab 형식 및 옵션

#crontab --help
 usage:  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)

crontab 설정은 아래와 같다.

SHELL=/bin/bash
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=root
 HOME=/

#--- 여기까지는 cron 작업을 위한 환경변수


# run-parts
 01 * * * * root run-parts /etc/cron.hourly
 02 4 * * * root run-parts /etc/cron.daily
 22 4 * * 0 root run-parts /etc/cron.weekly
 42 4 1 * * root run-parts /etc/cron.monthly

#-- 여기는 주기적인 실행을 위한 설정 및 실행할 디렉토리.

형식:

분 시 일 월 요일 권한 실행명령 실행파일및 디렉토리


분: 0 ~ 59
시: 0 ~ 23
일: 1 ~ 31
월: 1 ~ 12
요일 : 0 ~ 6

예를 들면 아래내용은

22 4 * * 0 root run-parts /etc/cron.weekly

일요일 오전 4시 22분이 되면 root 권한으로 /etc/cron.weekly 에 있는 파일을 실행한다는 의미.

 

cron 사용 권한 설정

/etc/cron.allow 파일이 있는경우 cron.allow 에 기록이 된 사용자만 cron 을 사용할 수 있다.
 /etc/cron.allow 이 없고 /etc/cron.deny 파일만 있는경우 /etc/cron.deny 에 기록이 안된 사용자만 cron을 사용할 수 있다.
두 파일이 모두 없으면 root 를 제외하고 아무도 cron을 사용할 수 없다.
root 는 /etc/crontab 파일에 작업스케쥴을 등록해도 되고 crontab 명령어로 작업스케쥴을 등록해도 된다
 일반계정은 crontab 명령어로 작업스케쥴을 등록할수 있다.
crontab -e  ;  디폴트로 vi 편집기가 열리고 그 상태에서 작업을 등록할 수 있다.
                    만약 편집기를 다른것으로 사용하려면 EDITOR 환경변수를 설정해 주면 된다.
                    ex) export EDITOR=gedit ; export EDITOR=nano


at

- 주기적으로 반복 실행할 수 없고 예약된 시간에 한번만 실행한다.

주요옵션

at -l  ; 예약된 작업 보기
atq    ; 예약된 작업보기
atrm ; 예약된 작업삭제하기

작업예약하기 형식

at 예약날짜 및 시간

ex) at 03pm
      at 07am
      at -t 0809201830  => 2008년 9월 20일 18시 38분 , -t 날짜 및 시간을 표기하기 위한 옵션
      at now + 1 hour
      at now + 10  min
      at now + 2 days
      at now + 1 hour -f /usr/sbin/poweroff  => 1 시간뒤에 시스템을 끈다.(-f 는 실행파일명을 적기 위한 옵션)

ex 2)

[root@/]# at -t 09201830
 at> httpd start
 at> <EOT>
 job 19 at 2008-09-20 18:30

at 사용권한 (man at 중에서...)

 If the file /etc/at.allow exists, only usernames mentioned in it are allowed to use at.
  If /etc/at.allow does not exist, /etc/at.deny is checked, every username not mentioned in it is then allowed to use at.
  If neither exists, only the superuser is allowed use of at.
  An empty /etc/at.deny means that every user is allowed use these commands, this is the default configuration.
---------------------------------------------------------------------------------------
* anacron
- crontab 에 등록된것중 예약된 시간에 실행되지 않은게 있으면부팅후 일정시간이 지난후에 실행을
시켜주는 데몬.
crontab 에 예약되어 있지만 작업이 실행이 되어야 할 시간에 시스템 전원이 꺼져 있으면 예약작업이
실행될수가 없다. 그런경우를 위해서 필요한 데몬

anacrontab 설정파일 예
##period in days  delay in minutes  job-identifier  command
1      5      cron.daily              nice run-parts /etc/cron.daily
7      25      cron.weekly            nice run-parts /etc/cron.weekly
@monthly 45    cron.monthly            nice run-parts /etc/cron.monthly
첫번째 줄은 부팅후 최근 24시간 동안 /etc/cron.daily 에 있는 파일이 실행이 되지
않았으면 anacron 이 5분뒤에 실행을 한다.

두번째줄은 부팅후 /etc/cron.weekly 안에 있는 파일이 최근1주일동안 실행되지 았았으면
부팅후 25분뒤에 실행을 한다.

댓글목록

등록된 댓글이 없습니다.


접속자집계

오늘
6
어제
59
최대
611
전체
468,282
개인정보취급방침 서비스이용약관 twoseven.kr All rights reserved.
상단으로