Linux에서 'at' 명령을 사용하여 특정 시간 또는 나중에 작업을 예약하는 방법
cron 작업 스케줄러 대신 at
명령을 사용하면 구성 파일을 편집하지 않고도 주어진 시간에 한 번 실행되도록 명령을 예약할 수 있습니다.
유일한 요구 사항은 이 유틸리티를 설치하고 실행을 시작 및 활성화하는 것입니다.
yum install at [on CentOS based systems]
sudo apt-get install at [on Debian and derivatives]
그런 다음 부팅 시 at 서비스를 시작하고 활성화합니다.
--------- On SystemD ---------
systemctl start atd
systemctl enable atd
--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on
atd
가 실행되면 다음과 같이 명령이나 작업을 예약할 수 있습니다. 다음 분이 시작되면 4개의 핑 프로브를 www.google.com
으로 보내려고 합니다(예: 22:20:13인 경우 명령은 22:21:00에 실행되며 결과를 이메일(-m
, Postfix 또는 이에 상응하는 항목 필요)을 통해 명령을 호출하는 사용자에게 보고합니다.
echo "ping -c 4 www.google.com" | at -m now + 1 minute
-m
옵션을 사용하지 않기로 선택한 경우 명령은 실행되지만 표준 출력에는 아무것도 인쇄되지 않습니다. 그러나 출력을 파일로 리디렉션하도록 선택할 수도 있습니다.
또한 at
에서는 지금, 정오(12:00), 자정(00:00) 등 고정 시간을 허용할 뿐만 아니라 사용자 정의 2자리(시간을 나타냄) 및 4자리 시간(시 및 분).
예를 들어,
오늘 오후 11시(또는 현재 날짜가 오후 11시보다 큰 경우 내일)에 updatedb
를 실행하려면 다음을 수행하세요.
echo "updatedb" | at -m 23
오늘 23:55에 시스템을 종료하려면(이전 예와 동일한 기준이 적용됨):
echo "shutdown -h now" | at -m 23:55
첫 번째 예와 같이 +
기호와 원하는 시간 지정을 사용하여 분, 시간, 일, 주, 월 또는 연 단위로 실행을 지연할 수도 있습니다.
시간 사양은 POSIX 표준을 따릅니다.
요약
경험상 명령을 실행하거나 잘 정의된 시간에 주어진 작업을 한 번만 실행하려는 경우에는 cron 작업 스케줄러 대신 at을 사용하십시오. 다른 시나리오의 경우 cron을 사용하세요.
다음으로, openssl을 사용하여 tar 아카이브 파일을 암호화하는 방법을 다루고 그 때까지 Tecmint에 연결을 유지합니다.