Często zdarza się, że chcę, aby mój komputer wykonał jedno zadanie, ale nie teraz. Mogę na przykład powiadomić mnie za 30 minut, że nadszedł czas, aby wyjść z pracy. A może chcę, aby za 2 godziny przeprowadził skomplikowany test, kiedy jestem pewien, że większość innych zniknie z biura.
Wiem, że mógłbym stworzyć zadanie crona do uruchomienia o określonej porze dnia, ale wydaje mi się, że to dużo pracy, kiedy wszystko, czego chcę, to coś tak prostego jak „Uruchom ten skrypt za 10 minut”, poza tym musiałbym wymyślić o której faktycznie będzie X minut / godzin / dni od teraz, a następnie usuń zadanie crona po zakończeniu.
Oczywiście mogę po prostu napisać ten skrypt i uruchomić go w tle:
sleep X
do_task
Ale to wydaje się tak niezręczne: albo potrzebuję nowego skryptu dla każdego zadania, albo muszę napisać i utrzymywać skrypt wystarczająco ogólny, aby zrobić to, co chcę, nie wspominając już o tym, że muszę wymyślić, ile sekund zajmuje minut, godziny lub dni, których chcę.
Czy nie ma już ustalonego rozwiązania tego problemu?
źródło
Odpowiedzi:
Używam prostego skryptu z
at
:Równie łatwo możesz przesłać powiadomienie
$message
donotify-send
lubdzen
na adres e-mail zamiast na pulpicie.źródło
+ 2 days
) i różnych formatów (YYYY-MM-DD
). Więcej informacji można znaleźć na stronie podręcznika.Ogólny sposób użycia
at
toNapisz skrypt, który robi to, co chcesz zrobić. Użyj pełnej ścieżki dla wszystkich poleceń zewnętrznych, zaloguj dane wyjściowe do odpowiedniego pliku dziennika lub prześlij je pocztą.
Przetestuj skrypt.
Aktywuj za pomocą
at -f YOURSCRIPT -t MMDDhhmm
źródło