리눅스 1회성 예약작업 at, atd 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
 
{{소문자}}
 
{{소문자}}
;at, atq, atrm
+
;at
 
;/usr/bin/at
 
;/usr/bin/at
;/usr/bin/atq
+
;
;/usr/bin/atrm
 
  
 
;atd
 
;atd
10번째 줄: 9번째 줄:
  
 
==at==
 
==at==
* 1회 작업 예약 리눅스 명령어
 
 
* 지정한 명령어를 지정한 시각에 1회 실행하도록 하는 리눅스 명령어
 
* 지정한 명령어를 지정한 시각에 1회 실행하도록 하는 리눅스 명령어
 +
* <code>at -l</code> 또는 <code>atq</code>로 예약작업 목록 확인가능
 
* 시간이 되면 수행되고 목록에서 사라진다.
 
* 시간이 되면 수행되고 목록에서 사라진다.
 
===명령어 예시===
 
* 예약작업 등록
 
<source lang='bash'>
 
echo "명령어" | at 00:00 0000-00-00
 
echo "명령어" | at 00:00
 
at 0000-00-00 00:00 -f 스크립트.sh
 
at 0000-00-00 00:00 < 스크립트.sh
 
</source>
 
* 목록 확인
 
<source lang='bash'>
 
atq
 
at -l
 
</source>
 
* 예약작업 내용 확인
 
<source lang='bash'>
 
at -c 번호
 
</source>
 
* 작업 삭제
 
<source lang='bash'>
 
atrm 번호
 
at -d 번호
 
at -r 번호
 
</source>
 
* /etc/at.deny 에 계정을 추가하여 at 사용을 금지시킬 수 있다.<ref>기본적으로 /etc/at.deny에는 내용이 없다.</ref>
 
:/etc/at.allow 파일을 만들면 그곳에 기록된 사용자 외에는 모두 금지된다.<ref>단, root는 무조건 허용됨. 기본적으로 /etc/at.allow은 존재하지 않는다.</ref>
 
  
 
==atd==
 
==atd==
 
*at 수행을 위한 데몬
 
*at 수행을 위한 데몬
<source lang='console'>
+
<source lang='dos'>
[root@zetawiki ~]# service atd status
+
[root@jmnote ~]# service atd status
 
atd (pid  2205) is running...
 
atd (pid  2205) is running...
 
</source>
 
</source>
  
==실습 1: 명령어 등록==
+
==실습==
<source lang='console'>
+
<source lang='dos'>
[root@zetawiki ~]# ll /root/hello.txt
+
[root@jmnote ~]# ll /root/hello.txt
 
ls: /root/hello.txt: No such file or directory
 
ls: /root/hello.txt: No such file or directory
[root@zetawiki ~]# date
+
[root@jmnote ~]# date
 
Thu Feb 13 23:27:03 KST 2014
 
Thu Feb 13 23:27:03 KST 2014
[root@zetawiki ~]# echo "echo hello > /root/hello.txt" | at 23:30 2014-02-13
+
[root@svn0 ~]# echo "echo hello > /root/hello.txt" | at 2330 feb 13
 
job 3 at 2014-02-13 23:30
 
job 3 at 2014-02-13 23:30
 
Can't open /var/run/atd.pid to signal atd. No atd running?
 
Can't open /var/run/atd.pid to signal atd. No atd running?
 
</source>
 
</source>
 
:→ 3번 작업으로 등록됨.  그런데 atd가 작동중이 아님
 
:→ 3번 작업으로 등록됨.  그런데 atd가 작동중이 아님
<source lang='console'>
+
<source lang='dos'>
[root@zetawiki ~]# atq
+
[root@jmnote ~]# atq
 
3 2014-02-13 23:30 a root
 
3 2014-02-13 23:30 a root
[root@zetawiki ~]# service atd start
+
[root@jmnote ~]# service atd start
 
Starting atd:                                              [  OK  ]
 
Starting atd:                                              [  OK  ]
 
</source>
 
</source>
 
:→ atd가 작동중이어야 atq 예약작업이 수행된다.
 
:→ atd가 작동중이어야 atq 예약작업이 수행된다.
:→ 여기서 a는 at에 의해 등록되었음을 나타낸다.<ref>batch 명령어에 의해 등록된 경우는 b로 표시됨</ref>
+
<source lang='dos'>
<source lang='console'>
+
[root@jmnote ~]# date
[root@zetawiki ~]# date
 
 
Thu Feb 13 23:31:53 KST 2014
 
Thu Feb 13 23:31:53 KST 2014
[root@zetawiki ~]# atq
+
[root@jmnote ~]# atq
[root@zetawiki ~]# ll /root/hello.txt
+
[root@jmnote ~]# ll /root/hello.txt
 
-rw-r--r-- 1 root root 6 Feb 13 23:30 /root/hello.txt
 
-rw-r--r-- 1 root root 6 Feb 13 23:30 /root/hello.txt
 
</source>
 
</source>
 
:→ 23:30에 hello.txt 생성됨. atq 목록에서 사라짐<ref>atd가 작동중이 아니라면 예약작업이 수행되지 않으며, atq 목록에 계속 남아있게 된다.</ref>
 
:→ 23:30에 hello.txt 생성됨. atq 목록에서 사라짐<ref>atd가 작동중이 아니라면 예약작업이 수행되지 않으며, atq 목록에 계속 남아있게 된다.</ref>
 
==실습 2: 스크립트 등록==
 
<source lang='console'>
 
[root@zetawiki ~]# cat hello.sh
 
#!/bin/bash
 
echo hello
 
</source>
 
<source lang='console'>
 
[root@zetawiki ~]# at now + 4 hour -f hello.sh
 
job 6 at 2014-05-28 03:03
 
</source>
 
<source lang='console'>
 
[root@zetawiki ~]# at -c 6
 
... (생략)
 
SSH_CONNECTION=192.168.0.3\ 3224\ 192.168.0.39\ 22; export SSH_CONNECTION
 
LESSOPEN=\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
 
G_BROKEN_FILENAMES=1; export G_BROKEN_FILENAMES
 
cd /root || {
 
echo 'Execution directory inaccessible' >&2
 
exit 1
 
}
 
${SHELL:-/bin/sh} << 'marcinDELIMITER38a2cae9'
 
#!/bin/bash
 
echo hello
 
 
marcinDELIMITER38a2cae9
 
</source>
 
:→ 환경변수([[env]])가 모두 export되고 스크립트 파일의 내용이 덧붙여진다.
 
  
 
==같이 보기==
 
==같이 보기==
*[[리눅스 반복 예약작업 cron]]
+
*[[크론]] (반복 예약작업)
 
*[[윈도우 at]]
 
*[[윈도우 at]]
*[[리눅스 batch]]
 
*[[env]]
 
*[[at.allow, at.deny]]
 
  
 
==주석==
 
==주석==
 
<references/>
 
<references/>
  
==참고==
+
==참고 자료==
 
*https://en.wikipedia.org/wiki/At_(Unix)
 
*https://en.wikipedia.org/wiki/At_(Unix)
  
 
[[분류: 리눅스]]
 
[[분류: 리눅스]]

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요 (자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: