Czy zadania zaplanowane z „at” są trwałe po ponownym uruchomieniu? Czy ktoś wie, w jaki sposób można wykonać kopię zapasową zadań bez dostępu do odpowiednich katalogów buforowania?
Chcę wysyłać wiadomości e-mail w określonych odstępach czasu od teraz do roku (tj. 1 tydzień, 1 miesiąc, 6 miesięcy), więc wydaje się, że to dobre narzędzie, może jest lepsze?
Tak, są trwałe podczas ponownego uruchamiania (to tylko pliki w buforze).
Jeśli chodzi o dostęp do nich, jako zwykły użytkownik nie będziesz mieć dostępu do plików, ale możesz zbudować system do tworzenia kopii zapasowych. Może coś takiego:
MYAT=~/atjobs
/bin/rm -rf $MYAT/*
at -l >$MYAT/JOBS
for j in `cat $MYAT/JOBS | cut -f1`
do
at -c $j >$MYAT/$i
done
Jeśli musisz później ponownie załadować zadanie:
for j in `cat $MYAT/JOBS | cut -f1`
do
# make sure the job isn't defined
atrm $j
# reload it from the file
at -f $MYAT/$j `grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }'`
done
(wszystko to jest w większości niesprawdzone. Podstawowe polecenie jest poprawne, ale gdzieś tam jest logika)
Powiedziawszy to wszystko, nie jestem pewien, czy użyłbym tego do opisanego zadania. Prawdopodobnie skorzystałbym z istniejącego systemu kalendarza. W przeciwnym razie użyłbym zadania cron, które działało codziennie i sprawdzało plik, aby sprawdzić, czy są jakieś wiadomości do wysłania. O wiele bardziej przenośny niż w pracy i o wiele bardziej prawdopodobne, że zostaniesz zapamiętany, jeśli zmienisz maszyny ...
Nie korzystałem często z polecenia at, ale użyłem crona do zaplanowania zadań do wykonania i jest on trwały podczas restartów. cron pracował dla mnie przez ostatnie piętnaście lat.
Jeśli potrzebujesz komendy, która ma być wykonywana raz dziennie, a następnie wykonywana raz, nawet jeśli system ulegnie awarii, możesz użyć anakronu .
Nie sądzę, że cron jest do tego naprawdę dobry, chyba że użyję go, jak stwierdził jj33, ponieważ nie chcę uruchamiać czegoś w regularnych odstępach czasu. Na przykład, kiedy planuję, nawet AI będzie chciała, aby wydarzenie A było uruchamiane za miesiąc, ale nie co miesiąc.
Kiedy planujesz zadanie z at, nawet jeśli zrestartujesz się (są one przechowywane w / var / spool / cron / atjobs), zadanie jest nadal planowane.
Serdecznie
źródło
Nie korzystałem często z polecenia at, ale użyłem crona do zaplanowania zadań do wykonania i jest on trwały podczas restartów. cron pracował dla mnie przez ostatnie piętnaście lat.
Jeśli potrzebujesz komendy, która ma być wykonywana raz dziennie, a następnie wykonywana raz, nawet jeśli system ulegnie awarii, możesz użyć anakronu .
źródło