Skip to content

Linux 기본명령어 at #

Find similar titles

3회 업데이트 됨.

Edit
  • 최초 작성자
    hspark
  • 최근 업데이트
    hspark

Structured data

Category
Programming

at #

개요 #

at은 지정된 시간에 특정 명령어나 프로그램을 실행시키는 리눅스 명령어이다. 리눅스 명령어 중 하나인 cron과 유사한 기능을 가지고 있으나 분명한 차이점이 있다. cron은 설정한 시간이나 날짜에 반복하여 처리하기 위해 사용하지만, at은 일회성 명령어를 처리하는 데 사용된다.

설치 #

yum 또는 apt 등 각 리눅스 배포판 별로 사용하는 프로그램 설치 관리 도구를 이용하여 설치할 수 있다.

# 레드햇 계열 
yum install at
# 우분투 
apt install at

설치 후 아래와 같이 부팅 시 자동으로 시작할 수 있도록 설정합니다.

sudo systemctl enable --now atd

사용 방법 #

기본 사용 방법은 아래와 같이 커맨드라인에서 at {실행 시간} 을 입력하면 at 입력 화면으로 전환된다. 전환된 입력 화면에서 실행할 명령어를 입력 한 뒤 키보드의 CTRL + D 버튼을 눌러 입력 화면을 종료하면 지정된 실행시간에 명령어가 실행된다. 실행 시간은 아래와 같이 다양한 방법으로 지정할 수 있다.

  • 오늘 몇 시 또는 내일 몇 시 형식으로 표기하는 경우 : hh:mm {today/tomorrow} 예) at 00:00 tomorrow
  • 특정 날짜 및 시간 형식 으로 표기하는 경우 : hh:mm yyyy-mm-dd 예) at 00:00 2023-11-30
  • 몇 분 뒤/몇 시간 뒤/며칠 뒤 형식으로 표기하는 경우 : now +[숫자]{minutes/hours/days} 예) at now +30 minutes


아래는 at 사용 예시이다.

$ at  now+10 minutes # 10분 뒤 실행 
at> ls -al > ~/list.txt 
at> <EOT> # ctrl + d 키를 눌러 at 프롬프트 종료

셸 파일 등을 미리 작성하여 사용하는 경우 "-f" 옵션을 이용하여 작성한 셸 파일을 실행하도록 설정할 수 있다. 아래는 셸 파일 실행 예시이다.

$ vim get_filelist.sh  # ls -al ~/ > ~/list.txt  입력 후 저장 
$ at  00:00 2023-11-30 -f get_filelist.sh

예약된 실행 작업 목록 및 각 작업에 대한 상세 정보(실행 커맨드라인 등)는 아래와 같이 확인할 수 있다. 또한 예약된 실행 목록을 선택하여 삭제할 수도 있다.

# 예약 작업 목록 확인  
#  --> 작업번호 실행날짜 실행시간 대기큐(a-z) 사용자계정 등의 정보를 확인할 수 있다.
#     예시) 9  Thu Nov 30 00:00:00 2023 a user1
$ at  -l   # 목록 확인 방법 1 
$ atq      # 목록 확인 방법 2

# 예약 작업의 상세 정보 조회. 실행할 커맨드 라인을 보여준다.
#  --> 작업 등록 시 작성한 커맨드라인 등을 화면에 출력해 준다.    
$ at -c {작업번호}

# 예약된 작업 목록 삭제     
$ at -d {작업번호} # 목록 삭제 방법 1 
$ atrm  {작업번호} # 목록 삭제 방법 2

Suggested Pages #

0.0.1_20240214_1_v81