Wollten Sie schon immer ein Skript beim Start mit root-Rechten ausführen? Wenn Sie einen Heimserver oder vielleicht nur einen Linux-Desktop haben, könnte Ihnen das in den Sinn kommen. Das klingt zweifelhaft, aber wenn Sie die Risiken verstehen, kann die Belohnung dafür ziemlich gut sein.

Die Hauptgründe dafür sind, dass man den Server nicht mehr starten, sich über ssh anmelden, ein Passwort eingeben, eine root-Shell bekommen und dann Skript nach Skript manuell ausführen muss. Nutze stattdessen die Leistung von cron und setze dein System so, dass es diese Skripte beim Start automatisch ausführt! Hier ist, wie es geht.

Einrichten von Cron

Die meisten Linux-Distributionen haben die Möglichkeit, auf cron zuzugreifen, indem sie einfach crontab -e . Wenn Sie jedoch diesen Befehl eingegeben haben und überhaupt nichts passiert ist, befinden Sie sich in einer Linux-Distribution, die nicht mit cron interagieren kann. Dies bedeutet, dass Sie ein Tool zum Fortfahren installieren müssen. Das beliebteste Tool in dieser Situation ist ein Daemon namens "cronie". Er ist ein sehr beliebtes Tool und befindet sich in den meisten gängigen Linux-Distributions-Repositories.

Öffnen Sie ein Terminal und installieren Sie cronie mit Ihrem Paketmanager. Wechseln Sie alternativ zu dieser Seite und laden Sie ein Paket für Ihre Distribution herunter.

Einrichten des Skripts mit Cron

Das Öffnen einer Crontab ist sehr einfach. Öffnen Sie ein Terminalfenster und geben Sie folgenden Befehl ein:

 sudo crontab -e 

Hinweis : Das sudo ist wichtig, wenn Sie Skript als root ausführen möchten. Sie können das sudo weglassen, wenn Sie das Skript nur als normaler Benutzer ausführen möchten.

Wenn das System crontab zuvor nicht verwendet hat, muss der Benutzer einen Editor angeben, mit dem er arbeiten kann. Obwohl alle Redakteure auf ihre eigene Weise gut sind, wählen Sie "nano", da es der einfachste Texteditor ist und nicht viel Aufruhr erfordert. Wenn der Editor ausgewählt ist, lädt Cron eine Standarddatei mit detaillierten Anweisungen, wie alles funktioniert.

Im Nano-Editor im Terminal scrollt man ganz nach unten und beginnt mit dem Schreiben von "@reboot". Der Befehl reboot ist hier der Schlüssel, da er dem Cron beim Neustart sagt, dass dieser Befehl jedes Mal ausgeführt werden soll. Fügen Sie nach dem Neustart den vollständigen Dateipfad zum Bash-Skript hinzu.

 @reboot /home/derrik/startupscript.sh 

Jetzt, da der Befehl eingerichtet ist, kann die Crontab gespeichert werden. Drücken Sie "Strg + o" auf der Tastatur. Dies wird den Benutzer auffordern, die Datei zu "schreiben". Standardmäßig benennt Cron die Crontab, also ändern Sie nichts. Drücken Sie die Eingabetaste, um die Crontab zu speichern.

Entfernen Sie das Skript vom Start

Genauso wie der Befehl zur crontab hinzugefügt wurde, kann er entfernt werden. Öffnen Sie dazu ein Terminal und geben Sie sudo crontab -e . Dadurch wird die Crontab-Datei geladen. Löschen Sie einfach den hinzugefügten Befehl, speichern Sie ihn und starten Sie den Computer (oder Server) neu.

Fehlerbehebung bei Cron

Manchmal führt Cron keine Befehle aus, und das kann ein Problem sein. Die einfachste Möglichkeit, Probleme mit Cron zu beheben (falls vorhanden), besteht darin, sich das Systemprotokoll anzusehen. Öffnen Sie dazu das Terminalfenster und geben Sie folgenden Befehl ein:

 grep CRON / var / log / syslog 

Das Syslog zeigt alle Systemereignisse und mit dem Befehl grep ist es möglich herauszufiltern, was cron und crontag tun. Dies sollte es Benutzern ermöglichen, problemlos Fehler zu beheben und alles zu beheben, was schief gehen könnte.

Fazit

Bash Scripting ist eine wunderbare Sache und eine der großen Stärken von Linux. Es erleichtert die Verwaltung von Servern und sogar von normalen Linux-Computern, da große Mengen von Befehlen übernommen und automatisiert werden können. Durch das Hinzufügen von Cron zum Bild können diese Skripte noch nützlicher werden. Kein Basteln mehr nach dem Booten Ihrer Linux-Box. Richte es einfach ein und vergiss es!

Welche Root-Skripte würden Sie beim Start auf Ihrer Linux-Box ausführen? Sag uns unten!