at
ma prostszy interfejs do tego celu, jeśli at
jest zainstalowany, maszyna jest uruchomiona, atd
a użytkownik może użyć polecenia.
Na przykład (sprawdź dokładną składnię za pomocą man at
lub info at
),
at -f
plik now + 53 minutes
lub
at -f
plik now + 2 hours
uruchomi polecenia z określonego pliku odpowiednio za 53 minuty lub 2 godziny.
at
można następnie uruchomić ponownie na początku zaplanowanego zadania z odpowiednimi (losowymi lub innymi) startami, liczeniami i jednostkami czasu.
Edytować
Jak pomaga Arjan poniżej, jeśli używasz tego do aplikacji innej niż zabawka, musisz pomyśleć o takich sprawach, jak to, co się dzieje
jeśli następne uruchomienie rozpocznie się przed zakończeniem poprzedniego (np. czy skrypt jest ponownie uruchamiany?) lub
jeśli przebieg nie powiedzie się poprawnie lub
jeśli następne uruchomienie nie rozpocznie się w ogóle lub na czas (np. co się stanie, jeśli maszyna będzie wyłączona, gdy następny bieg ma się rozpocząć) i
na temat rejestrowania i raportowania nieudanych lub udanych uruchomień.
file
zawiera następnyat
cykl, prawda?at
-polecenie jest pierwszym wierszem i jeśli skrypt działa przez długi czas (lub jeśli odstępy są krótkie), należy wystrzegać się jednoczesnego uruchamiania wielu instancji. Ale kiedy znajdzieat
się w ostatnim wierszu skryptu, to oczywiście nie zostanie wykonane ponowne planowanie, jeśli skrypt się nie powiedzie. Również uruchomienie skryptu z wiersza poleceń spowoduje, że sam (ponownie) sam zaplanuje (i: jednocześnie może istnieć wiele harmonogramów). Icron
obsługuje wysyłanie wszelkich błędów (lub: dane wyjściowe ogólnie) za pośrednictwem poczty elektronicznej; Nie wiem czyat
ma coś takiego?Mam wiele poleceń w / etc / crontab, które robią różne rzeczy, a niektóre wymagają precyzji w kilka sekund. Teraz cron może mieć lepszą rozdzielczość, a jednocześnie cały czas widoczny i scentralizowany.
Ten przykład pobiera i analizuje stronę internetową między 10 a 50 sekund przed każdymi 5 minutami:
Nie musi to oznaczać dokładnego czasu, ponieważ dane powoli się przemieszczają, ale pomaga utrzymać czas wykonania węzła Munin na jak najniższym poziomie, bez konieczności oczekiwania na strony internetowe. (Wtyczka dodatkowo buforuje stronę przez 30 minut, aby ograniczyć niepotrzebne działania, ale musi aktualizować bazę danych co 5 minut).
Zauważ, że \% - cron podstawia% na "\ n" - przydatne do utrzymywania tekstu wiadomości w jednym wierszu.
źródło
Wewnętrznie
cron
, nie sądzę, że taka funkcja istnieje. Myślę, że najlepszym rozwiązaniem byłoby umieszczenie polecenia w skrypcie powłoki, umieszczenie losowegosleep
odstępu na górze skryptu i użycie$RANDOM
zmiennej. Następnie uruchamiaj skrypt raz dziennie w zwykłej pracy crona.źródło
Będzie to zależeć od rodzaju interwału, którego szukasz. ale załóżmy, że chcesz, aby skrypt działał losowo z prawdopodobieństwem 1:30 (raz na 30 minut)
Zbuduj swój skrypt cron z szybkością, powiedzmy 10 minut. Będzie strzelał 3 razy co 30 minut.
Wewnątrz skryptu użyj war jako warunku instrukcji if . Chcesz, aby rand zwrócił liczbę z zakresu od 0 do 2. Jeśli jest to 0, wykonaj treść instrukcji if.
Zasadniczo skrypt zawsze uruchamia się w ustalonych odstępach czasu. Ale wykona polecenie, które Cię interesuje, losowo. Twój usługodawca będzie ci wdzięczny.
źródło