Linux ETC

at 명령어를 이용한 예약 작업

2012.03.16 19:14

호스트웨이 조회 수:21869

 at 명령은 cron 과는 달리 주기적인 작업이 아닌 특정시간을 지정하여 1회성 작업을 실행 하고자 할 때 주로 사용합니다.
 간략하게 at 명령을 사용하여 Apache 재시작 작업의 예약 방법을 설명하겠습니다.


 1. atd 데몬을 시작
     [root@localhost ~]# /etc/init.d/atd start


 2. 작업 시간 및 작업 내용 지정
     - “# at 시간 날짜” 순으로 입력
     [root@localhost ~]# at 6:00 pm
     at> /usr/local/apache/bin/apachectl restart
     at> <EOT>  (ctrl+d 를 눌러 저장)

     - 시간을 예약할때는 다음과 같은 방법으로도 입력이 가능
     [root@localhost ~]# at 6pm + 2 days  (2일후 오후 6시에 작업)
     [root@localhost ~]# at 11am Jul 21  (7월 21일 오전 11시에 작업)
     [root@localhost ~]# at 3pm tomorrow  (내일 오후 3시에 작업)


 3. 예약된 at 작업 일정 확인
     - 예약된 at 작업은 “/var/spool/at/” 경로 밑에 파일로 저장되며 아래의 명령어들로 확인 가능
     [root@localhost ~]# at -l  (또는 “# atq”)
                                  1       2012-03-15 20:30 a root
                                  2       2012-03-15 20:31 a root
                                  3       2012-03-15 20:30 a root


 4. 예약된 작업 취소
     [root@localhost ~]# atq
                                  1       2012-03-15 20:30 a root
                                  2       2012-03-15 20:31 a root
                                  3       2012-03-15 20:30 a root
     [root@localhost ~]# atrm 3
     [root@localhost ~]# atq
                                  1       2012-03-15 20:30 a root
                                  2       2012-03-15 20:31 a root


 ※ at의 사용 제한 방법
     - 특정 사용자를 차단  :  “/etc/at.deny” 파일에 제한할 user 입력.
     - 특정 사용자만 허용  :  “/etc/at.allow” 파일 생성 후 허용할 user 입력.