Komenda at
w systemach Unix
Komenda at
jest narzędziem w systemach Unix, które umożliwia planowanie wykonania poleceń w przyszłości. Użytkownik może wprowadzić polecenia, które zostaną zgrupowane w zadanie (ang. at-job) i wykonane o określonym czasie. Po zakończeniu operacji, at
może wysłać powiadomienie e-mail do użytkownika, który zlecił zadanie. Możliwe jest także wczytanie poleceń z pliku.
Do działania at
wykorzystywany jest demon atd
, który regularnie sprawdza listę zadań do wykonania. Demon ten może być skonfigurowany tak, aby realizował zadania tylko przy odpowiednim obciążeniu systemu.
Użycie komendy at
Dodawanie nowego zadania
Aby dodać nowe polecenie, można skorzystać z polecenia echo
, przekazując komendę do at
z określeniem, kiedy ma się wykonać. Przykład uruchomienia skryptu foo.sh za godzinę:
$ echo 'foo.sh’ | at now + 1 hour
Alternatywnie, można wprowadzić wiele poleceń w interaktywnym trybie:
$ at now + 1 hour
at> foo.sh
at> foo2.sh
at> foo3.sh
at> ^D #(Control-D zakończy wprowadzanie komend)
Inne przykłady użycia
echo 'foo.sh' | at 2017-04-30
– uruchomienie 30 kwietnia 2017 rokuecho 'foo.sh' | at now + 5 minute
– uruchomienie za 5 minutecho 'foo.sh' | at now + 1 day
– uruchomienie jutro o tej samej porzeecho 'foo.sh' | at 2210
– uruchomienie o 22:10, jeśli godzina minęła, zadanie wykona się następnego dnia
Wyświetlanie zaplanowanych zadań
Aby zobaczyć aktualnie zaplanowane zadania, można użyć polecenia atq
. Lista zawiera identyfikatory zadań, daty uruchomienia oraz nazwisko osoby, która zleciła zadanie:
$ atq
44 Fri Apr 28 20:14:00 2017 a user
45 Fri Apr 28 20:19:00 2017 a user
Usuwanie zaplanowanych zadań
Aby usunąć zaplanowane zadanie, należy znać jego identyfikator i użyć polecenia atrm
:
$ atrm 44 # usunięcie zadania o id 44
$ atrm 45 # usunięcie zadania o id 45