Hej, zastanawiam się czy za pomocą cron'u w linuxie mogę wykonać skrypt np. raz w ciągu 4 godzin w losowym momencie.
Hej, zastanawiam się czy za pomocą cron'u w linuxie mogę wykonać skrypt np. raz w ciągu 4 godzin w losowym momencie.
Raczej wątpliwie, sam crontab służy do planowania zdarzeń i dokładnego ich czasu wykonania i/lub ustalenia stałych częstotliwości. Trzeba by użyć czegoś dodatkowego.
Alternatywnie można stworzyć skrypt wykonujący się co 4 godziny i to w nim odczekiwać ten losowy czas. Niemniej takie rozwiązanie jest dość niepewne i podatne na błędy. Powinno być to wywoływane znacznie częściej i mieć gdzieś zapisaną informacje o poprzednich wykonaniach lub ustalone przedziały czasowe.
Wpadłem na ten sam pomysł z użyciem bash'a, ale byłem ciekaw czy w samym cronie nie można czegoś takiego zrobić.
Sam cron nie, możesz dodać coś w stylu losowego sleepa zaraz przed komendą w cronie.
Możesz też uruchomić "daemona" czyli w tym przypadku nieskończoną pętlę w bashu z losowym sleepem a zaraz potem wykonanie tego co trzeba, wtedy piszesz unit do systemd lub używasz supervisord.
Może też Cię zainteresować anacron
zamiast cron
krfcm:
czy za pomocą cron’u w linuxie mogę wykonać skrypt np. raz w ciągu 4 godzin w losowym momencie.
w losowym momencie to nie ale raz na 4 godziny oczywiście ;-) w crontab dodajesz odpowiedni wpis u mnie np: godzina jest aktualizowana w taki sposób dodany wpis w crontab
*/14 * * * * root /usr/local/bin/ntp.sh
podpowiadacz
https://pl.wikipedia.org/wiki/Crontab
a skryptów tak uruchamianych w taki sposób mam sporo i wszystko o zadanym czasie ;-)
Hej ! Doskonale wiem do czego służy cron i jak z niego korzystać do wykonywanie zaplanowanych zadań i strikte określonym czasie, dla przykładu restart sinusbotów, tworzenie kopii zapasowej. Natomiast byłem ciekaw czy jest możliwość losowego wywołanie skryptu raz w przeciągu 4 godzin bez ściśle określonej godziny.
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.