작업 시간 정하기, at
미리 정해놓은 시간에 따라 실행할 수 있도록 작업할 내용을 한 곳에 모아놓는 명령어입니다. 'at'과 관련된 명령어로는 batch, atq, atm이 있습니다.
'at' 명령이 작동되지 않는 경우는 다음과 같습니다.
- 설치가 되어 있지 않은 경우입니다.
- atd(at 데몬)가 실행 중이지 않은 경우입니다.
- 사용자가 at 명령을 사용할 수 있는 권한이 없을 수 있습니다.
설치 방법
Ubuntu나 Debian 기반의 시스템에서는 아래 명령으로 설치합니다.
sudo apt-get install at
CentOS나 Fedora와 같은 RedHat 계열은 아래 명령으로 설치합니다.
sudo yum install at
데몬 상태 확인과 시작 명령
atd는 'at' 명령이 올바르게 작동하게 하는 데몬입니다. atd가 실행되고 있는지 확인하려면 다음과 같이 입력합니다.
sudo service atd status
만약 atd가 실행되고 있지 않다면, 다음과 같이 시작합니다.
sudo service atd start
서식
at [-옵션]
at [-옵션 작업1, 작업2, ...]
atq [-옵션 파일1, 파일2, ...]
atrm [-옵션 [작업1, 작업2, ...] [파일1, 파일2, ...]]
batch [-옵션 [작업1, 작업2, ...] [파일1, 파일2,...]] [시간]
사용 방법
'at' 명령은 특정 시간에 작업을 수행하기 위해 HH:MM 형식(HH:Hour, MM:Minute)으로 시간을 지정합니다.(만약 시간이 이미 지났다면 다음날로 생각합니다.) 아침저녁을 구분하는 AM과 PM을 사용할 수 있으며 작업을 수행할 날짜에 대해서 month-name day year 형식으로 지정하거나 MMDDYY 또는 MM/DD/YY 또는 DD.MM.YY 형식(DD:Day, MM:Month, YY:Year)으로 지정할 수 있습니다. 날짜 지정 시 시간은 다음 형식으로 지정합니다.
현재 시각 + 시간 = 수행할 시각
시간은 minute, hours, days 도는 weeks가 됩니다. 오늘 수행할 작업에는 today를, 내일 수행할 작업에는 tomorrow를 붙일 수 있습니다.
예를 들어 지금부터 3일 후 오후 4시에 작업을 수행하려면: at 4pm + 3days
7월 31일 오전 10:00에 작업을 수행하려면: at 10am Jul 31
내일 오후 1시에 작업을 수행하려면: at 1am tomorrow
사용 사례
주요 사용 옵션
-q 큐: 명시한 큐(queue)를 사용합니다.
-m: 출력 결과가 없더라도 작업이 완료된 후 사용자에게 메일을 보냅니다.
-f 파일: 표준 입력이 아닌 file에서 작업 명령을 읽습니다.
-l: atq와 동일합니다.
-d: atrm과 동일합니다.
-v: 작업이 수행될 시간을 보여줍니다. 예를 들어, 작업이 수행될 시간이 2023년 10월 15일이라고 가정하면 환경 변수 POSIXLY_CORRECT가 설정되어 있지 않은 경우 2023-10-15 14:50 형식으로 표시됩니다.
-c: 명령행에 나열된 작업들을 표준 출력합니다.
-V: 버전 정보를 보여줍니다.
정리
at 사용은 /etc/at.allow와 /etc/at.deny의 내용에 따라 결정됩니다. /etc/at.allow 파일이 존재한다면, 그 파일에 명시된 사용자만이 at 명령어를 사용할 수 있습니다. /etc/at.allow 파일이 존재하지 않는다면 /etc/at.deny 파일에 명시되지 않은 모든 사용자가 at 명령어를 사용할 수 있습니다. at.allow도 at.deny도 없는 경우는 루트만이 사용할 수 있습니다.
'Linuxpia > Linux 명령어' 카테고리의 다른 글
[리눅스 명령어] 특정 패턴 문자 처리, awk (9) | 2023.07.07 |
---|---|
계획성 있는 작업 실행하기, atd (6) | 2023.07.06 |
네트워킹 관련 명령어, arp(Address Resolution Protocol) (28) | 2023.06.30 |
시스템의 CPU 정보, arch (3) | 2023.06.29 |
찾고자하는 키워드 입력, apropos (1) | 2023.06.28 |