Niedawno wskazano mi, że istnieje alternatywa dla crona, a mianowicie systemowe liczniki czasu.
Jednak nic nie wiem o czasach systemowych ani systemowych. Użyłem tylko crona.
Trwa dyskusja na Arch Wiki . Jednak szukam szczegółowego porównania między cron
czasami systemowymi, skupiając się na zaletach i wadach. Używam Debiana, ale chciałbym ogólne porównanie dla wszystkich systemów, dla których te dwie alternatywy są dostępne. Ten zestaw może obejmować tylko dystrybucje systemu Linux.
Oto co wiem.
Cron jest bardzo stary, sięga późnych lat siedemdziesiątych. Pierwotnym autorem crona jest Ken Thompson, twórca Uniksa. Vixie cron, którego crony we współczesnych dystrybucjach Linuksa są bezpośrednimi potomkami, pochodzi z 1987 roku.
Systemd jest znacznie nowszy i nieco kontrowersyjny. Wikipedia mówi mi, że jej pierwsze wydanie miało miejsce 30 marca 2010 r.
Tak więc moja obecna lista zalet crona w stosunku do systemowych timerów to:
Cron ma gwarancję, że znajdzie się w dowolnym systemie uniksowym, w tym sensie, że jest instalowanym, obsługiwanym oprogramowaniem. To się nie zmieni. Natomiast systemd może pozostać w dystrybucji Linuksa w przyszłości. Jest to głównie system inicjujący i może być zastąpiony innym systemem inicjującym.
Cron jest prosty w użyciu. Zdecydowanie prostsze niż systemowe timery.
Odpowiednia lista zalet systemowych timerów w stosunku do crona to:
- Czasomierze systemowe mogą być bardziej elastyczne i wydajne. Ale chciałbym tego przykłady.
Podsumowując, oto kilka rzeczy, które warto zobaczyć w odpowiedzi:
- Szczegółowe porównanie cron i systemowych timerów, w tym zalety i wady korzystania z każdego z nich.
- Przykłady rzeczy, które można zrobić, a które nie.
- Co najmniej jedno porównanie skryptu cron i systemowego skryptu timerów.
źródło
Odpowiedzi:
Oto kilka uwag na temat tych dwóch :
sprawdzanie, co naprawdę robi zadanie crona, może być trochę bałaganem, ale wszystkie systemowe zdarzenia czasowe są dokładnie rejestrowane w dzienniku systemowym, podobnie jak inne systemowe jednostki oparte na zdarzeniu, które znacznie ułatwia.
timery systemowe to usługi systemowe z wszystkimi możliwościami zarządzania zasobami, planowania procesorów IO, ...
Istnieje lista:
z opcją zależności, podobnie jak w innych usługach systemowych, mogą istnieć zależności od czasu aktywacji.
Jednostki można aktywować na różne sposoby, można także skonfigurować ich kombinację. usługi mogą być uruchamiane i wyzwalane przez różne zdarzenia, takie jak użytkownik, rozruch, zmiany stanu sprzętu lub na przykład 5 minut po podłączeniu sprzętu i ...
znacznie łatwiejsza konfiguracja niektórych plików i prostych tagów, aby wykonać różnorodne dostosowania w zależności od potrzeb za pomocą systemowych timerów
Łatwo włączaj / wyłączaj całość dzięki:
i zabij wszystkie dzieci z pracy za pomocą:
systemowe zegary mogą być planowane z kalendarzami i czasami monotonicznymi, co może być naprawdę przydatne w przypadku różnych stref czasowych i ...
systemowe zdarzenia czasowe (kalendarz) są dokładniejsze niż cron (wydaje się dokładność 1s)
systemowe zdarzenia czasowe są bardziej znaczące, dla tych powtarzających się, a nawet tych, które powinny wystąpić raz, oto przykład z dokumentu :
Z punktu widzenia wykorzystania procesora systemowy zegar budzi procesor po upływie czasu, ale cron robi to częściej.
Zdarzenia czasowe mogą być planowane w oparciu o czasy zakończenia wykonań. Niektóre opóźnienia można ustawić między wykonaniami.
Komunikacja z innymi programami jest również godna uwagi, czasem niektóre programy potrzebują znajomości liczników czasu i stanu ich zadań.
źródło
man systemd.time
których wydaje się to zaprzeczać: Nielokalne strefy czasowe oprócz UTC nie są obsługiwane.Prosto z pyska konia, że tak powiem: https://wiki.archlinux.org/index.php/Systemd/Timers#As_a_cron_replacement
Fragment strony powyżej:
źródło