Crontab umożliwia nam wykonywanie cyklicznie pewnych zadań. Możemy je uruchomić raz dziennie, co godzinę, a nawet co minutę. Co w przypadku, gdy chcemy wykonać dane zadanie tylko raz o konkretnej godzinie? Z pomocą przychodzi nam AT.
# Instalacja
pakiet: at
usługa: atd
# Data – date
Najważniejszym elementem wykorzystywania at jest ustawienie dobrej godziny w naszym systemie. Bo co w sytuacji, gdy rozjedzie nam się na przykład strefa czasowa i system wskazuje przesuniętą godzinę w stosunku do rzeczywistości?
# Definiowanie zadania
1. Możemy wykorzystać do tego prompt. Wpisujemy at godzina_wykonania. Następnie możemy wpisać komendy, które mają się wykonać. Zakończenie prompta wykonujemy skrótem ^D (jako <EOT>)
at 11:20
at> echo „test” > /plik
at> <EOT>
2. Możemy wykorzystać pipe. Najpierw podajemy komendę, a następnie | at godzina.
echo „test” > /plik | at 11:20
3. Uruchomienie skryptu bashowego z wykorzystaniem przełącznika -f
at 11:20 -f ./my_script.sh
# Jak zdefiniować czas uruchomienia?
– Godzina:
HH:MM
HHMM
am/pm
– Data
MMDD[CC]YY
MM/DDD/[CC]YY
DD.MM.[CC]YY
[CC]YY-MM-DD
today
tomorrow
weekday
# Sprawdzenie kolejki zadań danego usera
atq
at -l
W pierwszej kolumnie otrzymujemy ID zadania.
# Skasowanie zadania
atrm ID_zadania
at -r ID_zadania