linux class 3 페이지

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


회원로그인

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분뒤에 실행을 한다.

댓글목록

등록된 댓글이 없습니다.


접속자집계

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