Wyszukiwanie w witrynie

Jak używać polecenia „at”, aby zaplanować zadanie w określonym lub późniejszym czasie w systemie Linux


Alternatywą dla harmonogramu zadań cron jest polecenie at, które umożliwia zaplanowanie uruchomienia polecenia jednorazowo o określonej godzinie bez edytowania pliku konfiguracyjnego.

Jedynym wymaganiem jest zainstalowanie tego narzędzia oraz uruchomienie i umożliwienie jego wykonania:

yum install at              [on CentOS based systems]
sudo apt-get install at     [on Debian and derivatives]

Następnie uruchom i włącz usługę at podczas uruchamiania.

--------- On SystemD ---------
systemctl start atd
systemctl enable atd

--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on

Po uruchomieniu atd możesz zaplanować dowolne polecenie lub zadanie w następujący sposób. Chcemy wysłać 4 sondy ping do www.google.com, gdy rozpocznie się następna minuta (tzn. jeśli będzie 22:20:13, polecenie zostanie wykonane o 22:21:00) i zgłoś wynik e-mailem (-m, wymaga Postfixa lub odpowiednika) do użytkownika wywołującego polecenie:

echo "ping -c 4 www.google.com" | at -m now + 1 minute

Jeśli zdecydujesz się nie używać opcji -m, polecenie zostanie wykonane, ale nic nie zostanie wypisane na standardowe wyjście. Zamiast tego możesz jednak przekierować dane wyjściowe do pliku.

Ponadto należy pamiętać, że at pozwala nie tylko na następujące stałe godziny: teraz, południe (12:00) i północ (00:00), ale także niestandardowe 2-cyfrowe (reprezentujące godziny) i Czasy 4-cyfrowe (godziny i minuty).

Na przykład,

Aby uruchomić updatedb o 23:00 dzisiaj (lub jutro, jeśli bieżąca data jest późniejsza niż 23:00), wykonaj:

echo "updatedb" | at -m 23

Aby wyłączyć system dzisiaj o 23:55 (obowiązują te same kryteria, co w poprzednim przykładzie):

echo "shutdown -h now" | at -m 23:55

Możesz także opóźnić wykonanie o minuty, godziny, dni, tygodnie, miesiące lub lata, używając znaku + i żądanego określenia czasu, jak w pierwszym przykładzie.

Specyfikacje czasu podlegają standardowi POSIX.

Streszczenie

Ogólna zasada jest taka, że zamiast harmonogramu zadań cron używaj at, gdy chcesz uruchomić polecenie lub wykonać dane zadanie tylko raz w ściśle określonym czasie. W innych scenariuszach użyj cron.

Następnie omówimy, jak szyfrować pliki archiwum tar przy użyciu openssl, do tego czasu pozostań w kontakcie z Tecmint.