강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

스케줄러 AT

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

스케줄러 AT


특정시간이나 특정한 상태에서 정해직작업을 하기위해 스케줄러가 필요하다
우리에게 가장 잘알려진 스케줄러는 cron이다
cron은 반복적인 작업을 하기에 적합하도록 구성되어 있다
여기서 알아볼 at은 반복적인 작업이 아니라 특정한 시간  특정한 상태에서
단한번 실행을 하기위한 스케줄러이다.

at를 사용하기위해서는 atd가 실행이 되어야하는데 /sbin/service atd status
확인가능하며 중지중이라면 실행시키면된다.


1. 사용법

at [-V] [-q queue] [-f file] [-mldbv] TIME
at -c job [job...]
atq [-V] [-q queue]
atrm [-V] job [job...]
batch [-V] [-q queue] [-f file] [-mv] [TIME ]


-v : 표준 에러로 버전 번호를 출력한다

-q queue : 명시한 큐를 사용한다. 큐 이름은 한 단어로 되어있다; 유효한 이름은 a부터 z까지와
            A부터 Z까지이다. a 큐는 at의 초기값이고 b 큐는 batch의 초기값이다.
        알파벳 순서로 뒤의 이름을 갖는 큐는 더 큰 niceness 값을 갖는다.
        특별히 "=" 큐는 현재 수행되는 작업에 대한 큐로 예약되어 있다.
        대문자 이름의 큐에 추가된 작업은 batch의 작업처럼 처리된다.
        atq에 큐 이름이 지정되면, 그 큐에 있는 작업들만 보여준다.

-m : 출력 결과가 없더라도 작업이 완료될 때 사용자에게 메일을 발송한다.

-f file : file에서 작업명령을 읽는다.

-l : atq와 동일

-d : atrm과 동일

-v :작업이 수행될 시간을 보여준다.
     환경 변수 POSIXLY_CORRECT이 설정되있지 않으면 "1997-02-20 14:50" 형식으로
     시간이 표시되고, 설정되있는 경우에는 "Thu Feb 20 14:50:00 1996" 형식이 될 것이다.



2. 간단한 사용 예제

// 04시에 특정디렉토리 동기화         
# echo "rsync -av -delete abc.com::HOME/test /home/test" | at 04:00

// 01시에 특정 URL페이지를 긁어온다.
# echo "wget url" | at 01:00



3. 사용권한 지정

root는 어떤 경우에도 이 명령들을 사용할 수 있으나 다른 사용자는 /etc/at.allow과 /etc/at.deny의 내용에 따라 사용 권한이 결정된다.

만약 /etc/at.allow 파일이 존재하면, 그 파일에 명시된 사용자만이 at 명령을 사용할 수 있다.

만약 /etc/at.allow이 존재하지 않으면, /etc/at.deny에 명시되지 않은 모든 사용자가 at을 사용할 수 있다.

만약 두 파일이 모두 존재하지 않으면, 슈퍼 유저만이 at을 사용할 수 있다.



4. 시간설정 방법

그 날의 04:30시간에 작업을 수행하려면 at 04:30

지금부터 3일후 오후 4시에 작업을 수행하려면 at 4pm + 3 days,

7월 31일 오전 10:00에 작업을 수행하려면 at 10am Jul 31

내일 오후 1시에 작업을 수행하려면 at 1am tomorrow

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,042 명
  • 현재 강좌수 :  35,846 개
  • 현재 접속자 :  168 명