본문 바로가기

『IT/개발』/Linux

리눅스(linux) at 명령어를 이용해서 예약작업 수행하기.



리눅스에서 예약작업을 수행하기 위해서 가장 많이 사용하는 것은 crontab 일 것입니다.

하지만 crontab 의 경우에는 반복적인 작업을 수행하기 위해서 사용을 합니다.

그래서 반복적인 작업이 아닌 단발성 작업을 수행하기 위해서 사용하기에는 조금 번거러움이 있죠.

번거러움이라기 보다는 조금 복잡하다고 해야할까요?ㅎㅎ

여튼 어떻게 스케줄을 걸어주느냐에 따라서 다를수있겠지만 at 명령어보다는 조금 복잡하다고 할 수 있습니다.

단발성 이벤트 스케줄의 경우에는 crontab 보다는 at 명령어를 사용하는 것이 더 편리합니다.

그럼 어떻게 사용하는 지 한번 볼까요?


작업 예약하기

[root@localhost ~]# at 10:01 Dec 15

at > cd /var/www/html/ && /usr/bin/php -f push.php

at > (Ctrl + d)

job 17 at 2014-12-15 10:01

1. 먼저 해야할 것은 예약 시간을 정하는 것입니다.

=> 앞으로 다가오는 12월 15일 10시 01분에 예약을 하고 싶다면 [at 10:01 Dec 15] 적어주고 [ENTER]


2. 예약된 시간에 무엇을 할 지 지정

=> /var/www/html/push.php 파일을 수행하기를 원하시다면 [cd /var/www/html/ && /usr/bin/php -f push.php]  적어주고 [ENTER] 


3. 2번 작업 외 다른 작업도 예약을 할 수가 있습니다. 그냥 [엔터] 치고 그다음 라인에 새로운 명령어를 입력하시면 됩니다.


4. at 빠져나오기
=> [Ctrl + d] 를 통해서 at 명령어를 빠져나올 수 있습니다.


작업 확인하기

[root@localhost ~]# at -l

17      2014-12-15 10:01 a root

[root@localhost ~]# atq

17      2014-12-15 10:01 a root

예약된 작업을 확인 하기 위해서는 [at -l] [atq] 명령어를 이용해서 확인 할 수 있습니다.
참고로 [at -c 17] 명령어를 이용하면 좀 더 자세한 예약을 확인 할 수 있습니다.


작업 취소하기

[root@localhost ~]# atrm 17

예약된 작업을 취소하기 위해서는 [atrm 작업번호] 를 입력해서 취소 할 수 있습니다.