ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스케줄링 관리
    linux/centOS 2018. 7. 5. 11:23

    ☆ at

     

    at 데몬은 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능을 한다. at 스케

    줄을 사용하기 위해서는 at 데몬이 작동하고 있어야 하므로, 다음과 같이 atd 데몬을 동작시킨다.

     

    # service atd restart

    Stopping atd: [ OK ]

    Starting atd: [ OK ]

     

     

    (명령어 형식)

    # at time

    Usage: at [-V] [-q x] [-f file] [-m] time

    at [-V] [-q x] [-f file] [-m] -t [[CC]YY]MMDDhhmm

    at -c job [job...]

    (atq | at -l) [-V] [-q x]

    (atrm | at -d | at -r) [-V] [-q x] job ...

    batch [-V] [-f file] [-m]

     

     

    (명령어 사용예)

    작업 선언

    # at 1300

    # at 10:00pm today

    # at now +1 min

     

    작업 확인

    # at -l

    # atq

     

    작업 취소

    # atrm N (N : Job ID)

    # at -r N

     

     

    at 명령어 사용자 제한

    at 데몬을 사용할 수 있는 사용자를 제한할 수 있는 방법이 있다. /etc/at.allow 파일과 /etc/at.deny 파일을 이용

    하여 at을 사용할 수 있는 사용자들을 지정한다.

     

    at.deny 파일만 존재하면, at.deny 파일에 존재하는 사용자는 at 명령어를 수행할 수 없고, at.deny 파일에 존재하지 않는 모든 사용자는 at 명령어를 수행할 수 있다.

    at.allow 파일이 존재하면, at.allow 파일에 존재하는 사용자만 at 명령어를 수행할 수 있다. at.allow 파일이존재하면, at.deny 파일은 보지 않는다.

     

    at 명령어 사용자 제한

    기본 사항 점검

    # ls -l /etc/at.*

    -rw------- 1 root root 1 Jan 27 2010 /etc/at.deny

     

    # cat /etc/at.deny

    #

    -> (설명) at.allow 파일이 없고, at.deny 파일만 존재하는 경우에는 at.deny 파일에 등록된 사용자만 at 명령어를

    수행할 수 없다.

    -> at.deny 파일에 기본적으로 사용자 등록이 없기 때문에 at 명령어 사용에 대한 거부할 사용자가 없어서, 모든

    사용자가 at 명령어를 사용할 수 있는 설정이다.

     

    /etc/at.allow 파일 생성

    # vi /etc/at.allow

    user01

    user02

    -> (설명) at.allow 파일이 존재하는 경우, at.allow 파일에 등록된 사용자만 at 명령어 수행이 가능하고, 등록되

    지 않은 모든 사용자는 사용할 수 없다.

     

    user01 사용자로 테스트

    # su - user01

    $ at 1300

    at> echo

    at> <EOT> <---- <CTRL + D> 입력

    job 4 at 2010-03-02 13:00

     

    $ at -l

    1 2014-04-05 13:00 a user01

     

    user03 사용자로 테스트

    $ su - user03

    4 2014-04-05 13:00 a user01

     

    $ id

    uid=502(user03) gid=502(user03) groups=502(user03)

     

    $ at 1300

    You do not have permission to use at.

    $ exit

    $ exit

    #

     

     

     

     

    ☆ crontab

     

    cron 데몬은 같은 작업을 주기적으로 반복 실행되도록 하는 작업 스케줄용 데몬으로, 매분, 매시, 매일, 매주, , 매요일 단위로 cron 데몬에 의해서 작업이 실행될 수 있다. /etc 디렉토리에 보면 시, , , , 요일 단위 형태로 cron 디렉토리가 존재하며, 이들 디렉토리에는 작업 예약 스크립트들이 들어 있다. /etc/cron/daily 디렉토리안에는 여러 가지 스크립트들이 존재하는데, 매일 이들 스크립트는 cron 데몬에 의해서 자동적으로 실행된다.

     

    (cron 데몬실행)

    cron으로 작업 스케줄을 예약하기 위해서는 crond 데몬을 작동시켜야 하는데 다음과 같이 데몬을 재실행해 주면 된

    . 이 작동하고 있어야 한다. 그러므로, 작업 스케줄을 예약하기 전에 항상 crond 데몬이 작동될 수 있도록 다음과 같이 처리한다.

     

    # service crond restart

    Stopping crond: [ OK ]

    Starting crond: [ OK ]

     

     

    (명령어 형식)

    # crontab [-u user] file

    # crontab [-u user] [ -e | -l | -r ]

     

    -e (edit user's crontab)

    -l (list user's crontab)

    -r (delete user's crontab)

    -i (prompt before deleting user's crontab)

    -s (selinux context)

     

     

     

    (명령어 사용예)

    작업 선언

    # crontab -e (-e : Edit, # vi /var/spool/cron/<사용자이름>)

    # crontab -e -u user01

     

    작업 확인

    # crontab -l (-l : List, # cat /var/spool/cron/<사용자이름>)

     

    작업 삭제

    # crontab -r (주의) (-r : Remove, # rm /var/spool/cron/<사용자이름>)

     

     

     

    'linux > centOS' 카테고리의 다른 글

    centos  (0) 2018.07.10
    backup  (0) 2018.07.06
    사용자 그룹 관리  (0) 2018.07.04
    리눅스 부팅 과정  (0) 2018.07.03
    소프트웨어 관리 2  (0) 2018.07.02

    댓글

Designed by Tistory.