Computer >> 컴퓨터 >  >> 체계 >> Linux

"at" 유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

바쁜 서버를 처음 관리했을 때 사람들이 사용하지 않을 때 재부팅할 적절한 시간을 기다려야 했습니다. 나는 이것이 새벽 3시경에 일어났다는 것을 알아차렸다. 그리고 나서 속으로 생각했다. "이건 불편하다, 서버를 재부팅하려면 터무니없는 시간에 일어나야 한다." 5초 후에 나는 그것이 어리석은 생각이라는 것을 깨달았습니다. "이것이 Linux입니다. 이렇게 간단한 작업을 자동화하는 것은 쉬울 거라고 확신합니다." 따라서 at 발견되었습니다.

유틸리티는 사용하기가 매우 쉽습니다. 시간과 날짜를 명령줄 매개변수로 전달한 다음 실행할 명령을 하나 이상 입력하면 됩니다.

서버에서는 이러한 프로그램이 무인 작업을 수행하기를 원하기 때문에 유용합니다. 하지만 데스크톱에서도 at 매우 편리한 도구가 될 수 있습니다. 예를 들어 매우 큰 파일을 다운로드한다고 가정해 보겠습니다. 밤 늦게까지 PC를 종료하도록 예약할 수 있습니다. 또한 at 해야 할 일을 상기시켜줍니다. 적절한 도구와 명령줄 옵션을 사용하여 생각할 수 있는 거의 모든 작업을 예약할 수 있습니다.

다양한 Linux 배포판에 "at"을 설치하는 방법

Debian 또는 Debian 기반 배포판에서 다음을 실행합니다.

sudo apt install at

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

Fedora에서 다음을 실행합니다.

sudo dnf install at

Arch Linux에 "at"을 설치하려면:

sudo pacman -S at

그리고 openSUSE에서:

sudo zypper install at

"at" 데몬의 자동 시작 활성화 및 서비스 실행

일부 배포판은 부팅 시 "at" 데몬의 시작을 자동으로 활성화합니다. 다른 사람들은 그렇지 않습니다. 확인:

systemctl is-enabled atd.service

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

"비활성화됨"이라고 표시되면 다음을 사용하여 활성화합니다.

sudo systemctl enable atd.service

그리고 데몬을 시작합니다:

sudo systemctl start atd.service

"at" 명령을 예약하기 위해 날짜와 시간을 지정하는 방법

다음 양식 중 하나를 사용할 수 있습니다.

1. 지정된 분, 시간, 일 또는 주 후에 명령을 실행합니다.

at now + 10 minutes
at now + 10 hours
at now + 10 days
at now + 10 weeks

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

2. 정확한 시간에 실행:

at 23:10

이미 12:00이고 실행하는 경우:

at 11:00

그러면 명령이 내일 지정된 시간에 실행됩니다.

3. 정확한 시간과 날짜에 실행:

at 12:00 December 31

시간과 날짜를 지정하는 다른 방법은 온라인 "at" 매뉴얼에서 찾을 수 있습니다.

"at" 명령 사용 방법

눈치채셨겠지만 예약된 시간을 지정하면 다음 이미지와 같은 프롬프트가 표시됩니다.

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

여기에 실행하려는 명령을 입력하기만 하면 됩니다. 현재 사용자 이름으로 실행됩니다. 지정된 시간에 실행할 명령을 입력하고 Enter 키를 누릅니다. 후속 명령을 실행하려면 동일한 절차를 반복하십시오. 완료되면 Ctrl 키를 누릅니다. + D . <EOT> 해당 키를 누르면 이 명령이 실행될 시간이 표시됩니다.

루트 권한이 필요한 명령을 실행하려면 sudo를 사용하지 마세요. . 명령은 자동으로 실행되므로 sudo 아무도 비밀번호를 입력할 수 없기 때문에 작동하지 않습니다. 대신, 먼저 루트 사용자로 로그인하십시오:

sudo -i

그런 다음 "at" 명령을 정상적으로 사용합니다. 이제 모든 명령은 일반 사용자가 아닌 루트로 실행됩니다.

명령을 예약한 후 다음을 입력합니다.

exit

그러면 루트 사용자 계정에서 로그아웃됩니다.

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

이 스크린샷에 제공된 예에서 종료는 2분 후에 예약되었습니다. 자신의 목적에 맞게 조정할 수 있습니다.

예약된 작업이 실행되기 전에 컴퓨터의 전원이 꺼지면 다음 부팅 시(시간이 지난 경우) 단순히 실행됩니다. 예를 들어 오후 3시에 작업을 예약하고 오후 2시에 종료하고 오후 4시에 전원을 켜면 작업은 오후 4시에 실행됩니다.

예약된 작업 보기 및/또는 제거

다음을 사용하여 대기 중인 작업을 볼 수 있습니다.

atq

또는

at -l

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

작업에 예약된 명령을 보려면 해당 작업의 접두사 번호를 사용하십시오.

at -c 22

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

출력의 마지막 줄에는 예약한 명령이 표시됩니다.

작업을 제거하려면 다음과 같이 접두사 번호를 사용하십시오.

atrm 22

그래픽 응용 프로그램 실행을 위한 "at" 예약

먼저 현재 디스플레이 변수 값을 찾으십시오.

echo $DISPLAY

일반적으로 :0입니다. .

at 일정 실행합니다. "at" 프롬프트에서 DISPLAY를 설정합니다. 이전 값으로 변수(export DISPLAY=:0 ) 원하는 그래픽 응용 프로그램을 실행합니다.

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

이전 스크린샷에서 사용한 명령의 결과는 다음과 같습니다.

 at  유틸리티를 사용하여 Linux에서 명령을 예약하는 방법

이제 그래픽 앱이 "얼굴에" 표시되어 전화 알람보다 중요한 작업을 더 잘 알려줍니다.

결론

"at"을 사용하는 것은 쉽습니다. 더 어려운 부분은 원하는 행동을 취하기 위한 창의적인 방법을 찾는 것입니다. 그러나 다운로드 시작, 프로그램 닫기, 컴퓨터를 대기 모드로 전환 등과 같이 원하는 모든 작업을 수행할 수 있습니다.