at 명령어란?
지정된 시간에 명령어나 프로그램을 실행시키는 명령어입니다.
「cron」과 다른 점은 「cron」 은 설정한 날짜가 되면 반복적으로 등록된 처리가 실행되지만 「at」 명령의 경우는 한 번만 처리가 실행됩니다.
1회성 작업의 경우 「cron」 보다는 「at」를 사용하는 것이 더 편리합니다.
at 설치하기
「at」가 설치되어 있지 않은 경우 yum을 이용해서 설치해 주세요.
# yum install at
설치가 끝난 후 서비스 시작과 자동기동 설정을 해줍니다.
CentOS7이면 「systemctl」를 사용해서 설정합니다.
# systemctl start atd
# systemctl enable atd
CentOS6 이전 이면 아래의 방법으로 설정해주세요.
# service atd start
# chkconfig on atd
참고로 「atd」를 기동 하지 않고 「at」 명령어를 실행하면 「Can’t open /var/run/atd.pid to signal atd. No atd running?」라는 에러 메시지가 표시됩니다.
# at 17:00 06022020
at> touch t1.txt
at> <EOT>
job 1 at Tue Jun 2 17:00:00 2020
Can't open /var/run/atd.pid to signal atd. No atd running?
작업 예약하기
「at」 사용해 작업을 예약하는 방법은 아래와 같이 여러 개가 있습니다.
- at [옵션] “시간”
- echo “명령어” | at “시간”
- at “시간” -f “파일”
- at “시간” < "파일"
「at」 옵션
옵션 | 설명 |
-f 파일명 | 스크립트 파일 등을 실행해 줄때 사용한다 |
-m | 작업이 완료될 때 사용자에게 메일을 보낸다 |
-M | 메일 보내기 않기 |
-t [[CC]YY]MMDDhhmm[.ss] | [[CC]YY]MMDDhhmm[.ss]로 시간 지정 |
-l | 예약된 작업 목록을 보여준다. |
-r 번호 | 예약된 작업을 삭제한다.(unix) |
-d 번호 | 예약된 작업을 삭제한다.(linux) |
-q | queue 이름을 지정한다 |
-V | 버전확인 |
-f 옵션 : 파일을 예약 작업으로 등록
2020년 6월 2일 17시 15분에 test.sh를 실행하도록 등록.
작업을 하나씩 등록해서 사용하는 것보다 쉘 파일에 정리해서 -f 옵션으로 사용하는 것이 편하다.
# at 1915 02062020 -f test.sh
-m 옵션 : 출력 결과가 없어라도 작업이 완료될 때 사용자에게 메일을 전송
옵션 미설정, 출력 결과가 없는 경우 메일을 보내지 않는다.
-m 옵션을 설정하면 출력결과가 없어도 메일을 보낸다.
# at -m 1915 02062020
-t 옵션: 날짜 형식을 다른 서식으로 입력
옵션 없는 날짜 형식은 일 월 년 순으로 입력하기 때문에 인식하기 어렵다.
-t 옵션을 사용하면 년 월 일 시 분 순으로 입력이 가능하다.
# at -t 202006021915
-q 옵션 : 소문자 알파뱃 1 문자로 순서를 지정한다.
-q 옵션으로 예약한 동작을 그룹으로 관리가 가능하다.
-q 옵션이 없을 경우 디폴트로 a 가 지정된다.
# at -q c 1915 06022020
-l 옵션 : 예약한 작업 리스트를 보여준다.
# at -l
-d 옵션 : 예약한 작업을 삭제한다.
# -d 작업번호
-b 옵션 : 시스템에 부하를 주지 않도록 실행한다.
# at -b 1915 02062020
-v 옵션 : 작업 실행시간 상세히 보기
# at -v 1915 02062020
-c 옵션 : 예약된 작업내용 상세보기
# at -c 작업번호
at 관련 명령어
atq 명령어
예약된 작업 목록을 보여준다.
atrm 명령어
예약된 작업을 삭제한다.
batch 명령어
시스템에 부하를 주지 않도록 실행한다.
cron 명령어
정기적으로 작업을 실행한다.
'OS > LINUX' 카테고리의 다른 글
crontab 사용법 리눅스 예약작업 반복작업 (0) | 2020.05.29 |
---|---|
NFS 파일공유 폴더공유 리눅스 (0) | 2020.05.22 |
댓글