- A ráfutásvédelem nem volt az igények közt. A systemd valóban tudja, de a legtöbb esetben semmi szükség nincs ráfutásvédelemre, mert az időzített task vagy nem fut olyan gyakran, hogy ez számítson, vagy maga a program amúgy is megoldja a ráfutásvédelmet attól teljes mértékben függetlenül, hogy kézzel vagy időzítetten futtatod (lásd még: dpkg és yum lockolási mechanizmusai). 100 időzítési feladatból nekem olyan 5-nél kell ráfutásvédelem maximum.
- A systemd timer és a cron egyformán hibatűrőek: jórészt az alkalmazás hibatűrése számít egyedül. Mindkettő el fogja indítani a feladatot az előző feladatfuttatástól teljesen függetlenül, maga a feladatindítás pedig ugyanazon hibákon tud elhasalni, és mindkét eszköznek ugyanolyan lehetőségei vannak megoldani
- A "nem lefutás" észlelése önmagában sok kérdést vet fel. Azért nem sikerült lefuttatni mert rossz a parancs? Azért, mert az adott job hibával lépett ki? Nem mindegy melyik esetet szeretnénk vizsgálni
- A rossz parancsot SystemD esetén talán könnyebb detektálni, mert lelogolja, hogy ha az Exec -et nem tudta jól feloldani
- Az adott job hibás kilépését (pusztán a kilépést) lehet systemd esetében könnyebben detektálni, de valójában ezzel kitörölheted a seggedet. Üzemeltetőként senki nem ül ott a gép előtt egész nap, és mereszti a szemeit a systemd status lofasz.timer kimenetére, hogy na lefutott? nem futott? Az indok (hogy miért lépett ki exit code 1-gyel) az meg már nem a systemd timer hatásköre, hanem az alkalmazásé. Annak a feladata a logolás, egy időzíthető cucc esetében preferáltan nem a standard outputra/errorra kihányni a dolgokat, hanem valami strukturáltabb logot intézni saját hatáskörben, ugyanis nem feltételezheti, hogy van neki olyanja, hogy standard output. Ebben az esetben a systemd timer legfeljebb annyival tud segíteni, hogy a futás milyen exit code-ban végződött - de jellemzően a monitoring rendszer amúgy is figyelmeztet, hogy az adott job nem futott le, mert a job által kiváltott hatás elmaradt.
- És amúgy a cron konkrétan levelet küld, ha valamit nem sikerült lefuttatni - és pontosan megjelöli a hiba okát. Ehhez képest az, hogy a systemd timer lelogolja a journald-be... nagyon fapad.