Fórumok
Sziasztok!
Jóideje használom a cron @reboot opcióját, hogy egy esetleges újraindulás után a gép küldön egy emailt. Valamiért a frissen telepített gépemen nem akar működni. Amint feláll a rendszer szépen mennek az emailek, de a boot során valamiért nem. Tudna nekem tanácsot adni valaki ezzel kapcsolatban? Küldésre a mutt-ot használom, és a sendmail-lel van konfigurálva a gmail fiókom. A rendszer egy Ubuntu 24.04 LTS Server.
Köszönöm
Hozzászólások
A sendmailnek elvileg net hiányában is be kéne rakni spool-ba a leveleket és kiküldeni amint tudja, de lehet pl. dns ami nem tetszik neki amikor még indul a rendszer (ez olyat is okozhat, hogy lassan indul tőle a sendmail - manapság már nem olyan triviális dependency alapján sorban egyesével induló a boot folyamat - szóval simán lehet hogy túl korán fut a mutt amikor még nem fut a sendmail és elveszik a levél, ezt a @reboot scriptedbe tett sleep 5m -mel, nyilván a mutt sor előtt ellenőrizheted, ha akkor jó akkor erre keresgélj)
A logokban nincs semmi?
Nálam postfix van, és mailx-el küldöm reboot-kor is a levelet és így tökéletesen jól működik.
Az rc.local használata màr nem divat?
sysvinit-es maradvány...
ok, de mit használtok helyette?
sima service-eket. hint: Type=oneshot
Oké, de az nem kicsit kényelmetlenebb.
miert is? ez szerinted mi a csuda? :D
nekem ez kapasbol bonyolultabbnak tunik, mint a legalapabb oneshot unit :) es meg csak nem is tudod egyesevel enable/disable-re rakosgatni, szerkesztgetheted az egyetlen scripted, ami ha feluton valahol elhasal nezhetsz, hogy a masik fele vajon miert nem futott le :) vagy, mint a mellekelt abra mutatja, nem nagyon tudod dependalni, szerencse(d)re a systemd-s sracok pont default beleraktak a network-on-t :) viszont ez meg azert sz*r, mert mi van ha halozat nelkul is le kene fusson? o.O ja, akkor besz*ptad...
(olyan aprosagokrol, mint a kulon ENV, journal unit log, stb. mar szot sem ejtek)
de kinek a papne
Másról beszélünk.
/etc/rc.local-rol beszelunk, es, hogy miert
sz*rvan jobb megoldas. :) eshogy manapsag egy ugyanolyan unit inditja mint barmi mast is.fenti miatt, ha neked bonyi vagy kenyelmetlen egy simple unit mgirasa/managelese, akkor a modern rc-local sem neked valo, nem fogod erteni mitol mukodik (vagy sem es hogyan).
Anno egy scriptbe bevágtam amit leakartam futtatni , sorban. Most ha minden egyes dologhoz írnék egy sytemd indító scriptet az szebb, több munka, több hiba lehetőség, ugyanazon végeredmény mellett.
ha minden egyes dologhoz írnék egy sytemd indító scriptet az > kontrolcekontrolve. alig par sorral tobb, mint egy #!/bin/bash :D es a lentin meg lehet is kurtitani, ha pl. nem kell denpendelni semmire.
több hiba lehetőség > kevesebb. ha elolvastad volna fentebb, belatnad tenmagad is. " ha feluton valahol elhasal nezhetsz, hogy a masik fele vajon miert nem futott le" ha meg a bashscriptben kell hibakezelned, logozast implementalnod, na, az egy nagysagrenddel bonyibb, mint egy unit 5-6 sorbol. :)
Jogos.
"/etc/rc.local Compatibility"
Azaz csak azért van, hogy ezzel kompatibilis legyen. Ilyen alapon egy BSD-stílusú initet is alá lehetne patkolni, a legtöbb unitot kukázva...
Már várom amikor majd "systemd-s maradvány"-okról beszélhetünk majd.
Én meg azt, amikor a "vaskalaposok a múltban" felütéssel lehet rólatok beszélni...
Nem gondolom hogy a sysvinit fog visszatérni, nem is kívánnám. De a systemd-nél azért el tudok képzelni jobbat.
Heck, összeszedném magam egy picit, még valószínű meg is tudnám írni, azért egy init rendszer nem atomtudomány (legalábbis a systemd előtt nem volt az). Csak kinek van arra ideje.
meg is volt a baja, es korbe kellett takolni hogy rendesen menjen. amit meg most bydefault tud a systemd.
en meg emlekszem a monit es tarsaira ami kellett hogy restartolni lehessen egy kilepett servicet. vagy a jo kis prestart pingelesre hogy megvan-e a halozat. stbstb.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
A hálózat meglétére sajnos továbbra is írni kell valamit. A múltkoriban írtam, hogy a DHCP daemon (kea) hiába volt úgy beállítva, hogy a hálózat indulása után induljon, elindult előtte, mert a network hamarabb jelezte vissza, hogy összejött a hálózat, minthogy az interface be lett konfigurálva. Nos, ez elvileg megoldódott, legalábbis akkor azt hittem. Aztán két alkalommal is megtörtént, hogy áramszünet után elindult a daemon úgy, hogy nem volt mire bind-oljon, a logokból nagyjából azt vettem ki, hogy mivel a router még nem állt készen (meg a switch sem), így hiába lett beállítva a hálózat, az interface még nem volt UP-ban, de látszólag kész volt, de a kea-nak nem tetszett.
Most írtam egy egysoros scriptet, ami pingeli a gatewayt, és akkor lép ki, ha ez sikeres, és ebből csináltam egy systemd unitot, amit meg kell várjon a DHCP service. Élesben még nem próbáltam ki.
Részemről meg úgy vagyok vele, hogy a világ nem egybites.
Van, ahová/amire bőven elég az rc.local.
Van, ahová/amire bőven elég a cron.
Van, ahová/amire nem.
Én viszont nem akarok bele gondolni, hogy a tendencia alapján mi jöhet a systemd után. :-)
systemE
MInt a németeknél a kefír után a kefünf...
Nekem is működik a 22.04 LTS rendszeren. Az új gépen viszont 24.04 LTS alatt nem. Mindkét gépen ugyanazok a beállítások. Csak a reboot folyamán nem jön az email. Utána már minden rendben.
/var/log/mail.log:
2024-07-20T10:25:18.305567+02:00 localhost sendmail[856]: 46K8PIiI000856: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30374, relay=[127.0.0.1] [127.0.0.1], dsn=4.4.1, stat=Deferred: Connection refused by [127.0.0.1]
kell egy kis ido neki, mire lesz halozat. ne @cron triggereljen, hanem van erre systemd timer. (OnBootSec=1m), a service meg type=oneshot.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
A 127.0.0.1 -es gepen lesz a hiba. Lehet, hogy a takker neni kihuzta mert kellett egy konnektor a porszivonak. Vagy megette a crowdstrike! :-)
csinalj egy mezei service-t es tedd fuggove a postfixtol (vagy amit hasznalsz.)
ha nem local az mtu, akkor pedig siman a network-online-tol
pl:
majd a szokasos systemctl enable es tarsai :)
Ezt egészen pontos hogy is kivitelezzem?
Google.
Itt pl. majdnem pont olyan is van, ami neked kell: https://documentation.suse.com/sle-micro/6.0/html/Micro-systemd-working…