Linux

[리눅스] at 명령어 완벽 가이드 사용법(한 번 실행되는 작업 예약)

인생아 2024. 10. 21. 17:36
반응형

리눅스에서 at 명령어는 한 번만 실행되는 작업을 예약할 때 사용됩니다. cron 명령어와 달리 정기적인 작업이 아니라 특정 시간에 한 번만 실행되는 명령어를 예약하고 싶을 때 유용합니다. 이를 통해 미래의 특정 시점에 명령이나 스크립트를 자동으로 실행할 수 있습니다.

at 명령어 기본 사용법

at 명령어는 다음과 같은 형식으로 사용됩니다:

at [시간]

여기서 시간은 명령이 실행될 때를 지정하며, 시각이나 날짜를 다양하게 표현할 수 있습니다. 예를 들어 now + 2 minutes, tomorrow, 또는 5pm과 같은 형태로 시간을 입력할 수 있습니다.

user@linux:~$ at 3pm
at> echo "작업이 예약되었습니다."
at> <Ctrl+D>
job 1 at 2024-10-18 15:00

위 명령은 오후 3시에 "작업이 예약되었습니다." 메시지를 출력하는 작업을 예약하는 예시입니다. Ctrl+D를 눌러 입력을 종료하고 작업을 저장합니다.

atq: 예약된 작업 확인

예약된 작업을 확인하려면 atq 명령어를 사용합니다. atqat queue의 약자로, 예약된 작업 목록을 보여줍니다.

user@linux:~$ atq
1    2024-10-18 15:00 a user

이 명령은 예약된 작업을 출력하며, 작업 번호와 실행 시간, 사용자 정보를 포함합니다.

atrm: 예약된 작업 삭제

예약된 작업을 삭제하려면 atrm 명령어를 사용합니다. 이 명령어는 atq에서 확인한 작업 번호를 사용하여 특정 작업을 제거합니다.

user@linux:~$ atrm 1

위 명령어는 작업 번호가 1인 예약된 작업을 삭제합니다.

at 명령어의 시간 형식

at 명령어에서 사용할 수 있는 시간 형식은 매우 유연합니다. 예를 들어 다음과 같은 방식으로 시간을 지정할 수 있습니다:

  • now + 5 minutes: 현재 시간에서 5분 후 실행
  • midnight: 자정에 실행
  • noon: 정오에 실행
  • tomorrow: 다음 날 같은 시간에 실행
  • hh: 특정 시간에 실행 (예: 14:30)
user@linux:~$ at now + 1 minute
at> touch /home/user/testfile.txt
at> <Ctrl+D>
job 2 at 2024-10-18 15:01

위 예시는 현재 시간에서 1분 후testfile.txt라는 파일을 생성하는 작업을 예약하는 것입니다.

실행 예시

리눅스 터미널에서 at 명령어가 실제로 실행되는 모습은 다음과 같습니다:

user@linux:~$ at 16:00
at> echo "이 메시지는 오후 4시에 출력됩니다."
at> <Ctrl+D>
job 3 at 2024-10-18 16:00
user@linux:~$ atq
3    2024-10-18 16:00 a user
user@linux:~$ atrm 3
user@linux:~$ atq
# 더 이상 예약된 작업이 없음

이 예시는 오후 4시에 메시지를 출력하는 작업을 예약하고, 이후 예약된 작업을 삭제하는 과정을 보여줍니다.

주의 사항

at 명령어는 root 또는 특정 사용자만 사용할 수 있도록 제한될 수 있습니다. /etc/at.allow 파일과 /etc/at.deny 파일을 통해 사용 권한을 설정할 수 있습니다. 시스템 관리자라면 특정 사용자가 at 명령어를 사용하는 것을 허용하거나 제한할 수 있습니다.

참고사이트

반응형