1. at 데몬 사용법
at 데몬(atd)을 사용하기 위해서는 at, atq, atrm, batch 명령에 대해서 알아야 한다.
* at, atq, atrm
이 명령어는 실제적으로 atd 데몬에 명령어를 내리는 명령어로 명령행에는 언제 실행할 것인지 그리고 무슨 옵션으로 실행할 것인지에 대한 옵션이 있고, 명령어를 엔터를 쳐서 입력하면 커서가 한 줄 밑으로 내려가게 되는데 여기서 실행할 명령을 순서대로 하나씩 쳐서 입력한 뒤에 다 끝나면 [Ctrl]+[D] 를 눌러서 나가면 된다.
사용예
실제 명령은 아래와 같이 "at + 실행할 시간"으로 명령을 내리면 at>라는 프롬프트가 뜨는데 여기서 부터 실제 내릴 명령을 게속적으로 써주면 된다.
[root@systech-dev /root]# at 21:00 2012-11-28
at> find / -name *linux* -print
at> tee ~/linux.txt
at> <EOT> <-------실제로는 [Ctrl]+[D] 이다.
job 1 at 2012-11-28 21:00
21:00 2012-11-28에 아래에 타이핑한 명령어를 실행
job1 에 할당되었다고 보여주고 있음
또 다른 예
[root@systech-dev /root]# at now +2 hours
at> find / -name *.html -print
at> tee ~/html.txt
at> mount -t vfat /dev/hda1 /mnt/win98_c
at> cp ~/html.txt /mnt/win98_c/
at> <EOT>
job 2 at 2012-11-28 23:00
지금부터 2시간 후에 아래 명령들을 실행
hours 대신에 minutes, days, week 등이 쓰일 수 있으며, 그냥 at now 라고 쓰면 모든 명령을 입력한 수 [Ctrl]+[D] 를 입력하는 즉시 실행한다.
이러한 atd 데몬은 쉘스크립트 내에서 아주 유용하게 사용되어 질 수 있는데, 만약 어떤 쉘스크립트의 마지막 부분에 "at -m -f $0 now + 3 days" 라고 써주게 되면 해당 쉘스크립트를 매번 3일 마다 실행하게 되며, 그 결과를 메일로도 알려주게 된다.
이제 이렇게 예약된 작업내용(큐:queue)을 보려면 at 명령에 -l 옵션을 주거나 atq 명령을 쓰면 된다.
[root@systech-dev /root]# at -l
3 2012-11-28 22:00 a root
2 2012-11-28 23:00 a root
[root@systech-dev /root]# atq
3 2012-11-28 22:00 a root
2 2012-11-28 23:00 a root
*큐에 있는 작업 내용을 삭제하려면...
[root@systech-dev /root]# atrm 3
[root@systech-dev /root]# atq
2 2012-11-28 23:00 a root
2. batch
batch 명령은 at와 사용법이 같다.
[root@systech-dev /root]# batch
at> find / -name *.html -print
at> tee ~/html.txt
at> mount -t vfat /dev/hda1 /mnt/win98_c
at> cp ~/html.txt /mnt/win98_c
at> <EOT>
job 4 at 2012-11-28 21:08
[root@systech-dev /root]# atq
5 2012-11-28 21:10 b root
[root@systech-dev /root]# atrm 5
[root@systech-dev /root]# atq
3. at 사용 유저 제한
이러한 atd 데몬을 아무 유저나 마음데로 쓰게 된다면 시스템에 많은 부하가 걸릴 수 있으므로 사용유저를 제한 할 필요가 있는데 이때 사용되는 파일이 /etc/at.allow 와 /etc/at.deny 파일이다.
보통 둘 중 하나의 파일만 사용하며, /etc/at.allow 파일을 먼저 읽게 된다. /etc/at.allow 파일에 특정 유저명을 적어 넣으면 그 유저들을 제외한 나머지 유저는 at를 사용할 수 없으며, /etc/at.deny 는 반대이다.
댓글 없음:
댓글 쓰기