Services - automatische Starts in Ubuntu, am Beispiel Kryptomasternodes

  • Linux cracks können schon hier aufhören zu lesen es geht um crontab und systemd... :)


    Problemstellung: ich möchte

    • Prozesse/Dienste beim Systemstart automatisch starten oder
    • während der Laufzeit zum bestimmten Zeiten
    • Oder beim Shutdown automatisch stoppen

    Dazu bietet sich einerseits systemd (beim reboot und shutdown) und crond (zu jeder festen Zeit oder reboot) an. Da ich Ubuntu fast nur für masternodes (Kryptowährungen) und Firewall verwende nehme ich mal als Beispiel ein paar Masternode services/processe.


    Kommen wir erstmal zu systemd hier sind folgende zwei Dinge das wichtigste:

    1. Das kommando systemctl restart|stop|start|status <servicename>
    2. Das Verzeichnis /etc/systemd/system


    So eine Konfigdatei für einen Service sieht in etwa so aus (Beispiel HTRC Masternode (alte version)):




    Man sieht man kann Reihenfolgen, Berechtigungen etc. einstellen. Die entscheidenden Zeilen sind Exexstart/stop und natürlich der Servicename. Ansonsten könnte man das Beispiel als Vorlage kopieren und eigene Services definieren. Hier das Beispiel eines meiner virtuellen Maschinen mit mehreren Masternodes (zeitlich nach Änderung sortiert):




    Typischerweise braucht man sich nich um solche Dinge zu kümmern, da das die Installscripte erledigen sollten, aber leider ist dieses nicht immer der Fall.

    Eine brauchbare Anleitung für systemd fndet Ihr auch hier. Ich habe hier wirklich nur die Basics angerissen.


    So kommen wir nun zum cron daemon, diese kann zum Start von allem möglichen zu festen Zeiten (quasi wie ein Wecker) genutzt werden.

    Das funktioniert recht simple, wenn Ihr als root einfach crontab -e aufruft könnte Ihr diesen Aufweckplan editeren. danach cron mit service cron restart neu starten.

    In meinem Fall werden hier zwei Prozess beim reboot gestartet (smartcashd und satoshicoind). Zusätzlich wird für Smartnodes regelmäßig aufgeräumt und der Satoshidaemon alle 3 Stunden gestoppt, ein logfile gelöscht und neu gestartet. Im Prinzip baut sich eine Zeile nach dem schema

    Code
    1. # Minute Stunde Tag Monat Wochentag Kommando

    auf. Dazu kommen nur Kurschreibweisen wie @reboot oder @daily.... siehe hier auch im Linux Wiki.


    Sodele das war's mit dem Kurzexkurs zu systemd und cron.

    PV 18,2kWp - BHKW EcoPower 1.0, 30kWh LiON Sunny Island System

    BMW i3 60Ah (Verbrauch ca. 13,8kWh/100km; SW: I001-16-07-506)

Share

Comments