Linux ETC

at 으로 작업 예약 하기

2008.05.19 20:22

호스트웨이 조회 수:26305

['at' 으로 작업 예약 하기]


at 명령을 사용하여 특정 시간에 작업을 예약 하는 방법입니다.
at 명령은 cron과는 달리 주기적인 작업이 아니라 특정시간, 한번만 작업을 예약해 놓는 것입니다.
사용방법은 아래와 같습니다.


1) at 데몬 시작

[root@localhost root]# /etc/rc.d/init.d/atd start
atd (을)를 시작합니다 : [ 확인 ]

2) 오후 4시에 apache, sendmail 리스타트 작업 예약

[root@localhost root]# at 4:00 pm
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> /usr/local/apache/bin/apachectl restart
at> /etc/rc.d/init.d/sendmail restart
at> (ctrl+d 입력)
job 1 at 2005-10-21 16:00

시간을 예약 할때는 다음과 같은 방법으로 입력이 가능 합니다.

at 4pm + 3 days (3일후 오후 네시에 작업)
at 10am Jul 31 (7월 31일 오전 10시에 작업)
at 1pm tomorrow (내일 오후 1시에 작업)

3) atq 명령으로 예약된 작업 확인

[root@localhost root]# atq
1 2005-10-21 16:00 a root

4) 오후 11시에 시스템 리부팅 예약

[root@localhost root]# at 11:00 pm
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at> shutdown -r now
at> (ctrl+d 입력)
job 2 at 2005-10-21 23:00
[root@localhost root]# atq
1 2005-10-21 16:00 a root
2 2005-10-21 23:00 a root

예약 된 at 작업은 /var/spool/at 디렉토리에 저장되게 됩니다.
/var/spool/at 디렉토리로 이동해서 아래와 같이 확인을 하면 예약된 작업확인이 가능 합니다.


[root@localhost root]# cd /var/spool/at/
[root@localhost at]# ls
a00006011f57c4 a00007011f5968 spool
[root@localhost at]# cat a00006011f57c4
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
PWD=/root; export PWD
HOSTNAME=localhost.localdomain; export HOSTNAME
LESSOPEN=|/usr/bin/lesspipe.sh %s; export LESSOPEN
USER=root; export USER
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05
;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32
:*.sh=01;32:*.csh=01
;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01
;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31
:*.cpio=01;31:*.jpg=01;35
:*.gif=01;35:*.bmp=01;35:*.xbm=01
;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:; export LS_COLORS
MAIL=/var/spool/mail/root; export MAIL
INPUTRC=/etc/inputrc; export INPUTRC
BASH_ENV=/root/.bashrc; export BASH_ENV
LANG=ko_KR.eucKR; export LANG
SSH_CLIENT=10.30.100.150 2923 22; export SSH_CLIENT
LOGNAME=root; export LOGNAME
SHLVL=1; export SHLVL
USERNAME=root; export USERNAME
HISTSIZE=1000; export HISTSIZE
HOME=/root; export HOME
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass; export SSH_ASKPASS
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin; export PATH
JLESSCHARSET=ko; export JLESSCHARSET
SSH_TTY=/dev/pts/0; export SSH_TTY
OLDPWD=/home/httpd/check; export OLDPWD
cd /root || {
echo ''Execution directory inaccessible'' >&2
exit 1
}
/usr/local/apache/bin/apachectl restart
/etc/rc.d/init.d/sendmail restart

만일 예약해 놓은 작업을 취소 하고 싶을 경우는 atrm 명령으로
아래와 같이 작업 번호를 입력후 취소할수 있습니다.


[root@localhost at]# atq
1 2005-10-21 16:00 a root
2 2005-10-21 23:00 a root
[root@localhost at]# atrm 2
[root@localhost at]# atq
1 2005-10-21 16:00 a root
[root@localhost at]#

번호 제목 글쓴이 날짜 조회 수
106 CentOS 6 – root 패스워드 변경하기 호스트웨이 2012.04.20 22370
105 부하 테스트 - 1편 / 시스템 하드웨어 stress tool 호스트웨이 2012.04.20 30879
104 파일 내용 출력 관련된 명령어 호스트웨이 2012.04.20 18276
103 리눅스 커널 버전 의미 file 호스트웨이 2012.04.20 27109
102 Telnet을 이용하여 Linux서버 원격접속 file 호스트웨이 2012.04.13 20536
101 리눅스에서 iso 이미지 활용하기 호스트웨이 2012.04.13 19400
100 ngrep 사용법 호스트웨이 2012.04.13 16812
99 국가명 약어 (국가코드) 호스트웨이 2012.04.13 65005
98 서비스 이름으로 포트 번호 확인하기 호스트웨이 2012.04.13 57735
97 chattr 명령을 이용한 파일 속성 변경 file 호스트웨이 2012.04.07 18564
96 vsftpd.conf 옵션 설명 호스트웨이 2012.04.06 16819
95 서버 아이피 변경으로 인한 다량의 네임서버 존파일 일괄 변경 방법 호스트웨이 2012.04.06 14685
94 ipv6 비활성화 하기 호스트웨이 2012.04.06 25465
93 계정 생성 시 ftp 계정만 주고 Shell 로그인 차단하기 file 호스트웨이 2012.04.06 23716
92 Linux lastlog를 이용한 최근 접속정보 확인 file 호스트웨이 2012.04.06 19747
91 VI 편집기에서 사용되는 명령어(2) 호스트웨이 2012.04.06 13737
90 Linux Charset 확인 및 변경 file 호스트웨이 2012.03.30 85155
89 VI 편집기에서 사용되는 명령어 호스트웨이 2012.03.30 13909
88 Linux 서버 root password 분실시 변경 방법 file 호스트웨이 2012.03.30 24005
87 find 명령어-1 호스트웨이 2012.03.30 14935