Eine der großen Änderungen, die CentOS in Version 7 eingeführt hat, war das Fehlen einer nativen Ausführung für benutzerdefinierte Skripte zum Booten von der Datei /etc/rc.d/rc.local.
/etc/rc.d/rc.local war eine der klassischsten Möglichkeiten, benutzerdefinierte Skripte hinzuzufügen, um automatisch zu booten, nachdem alle init.d-Skripte auf alten CentOS 5- und CentOS 6-Versionen gestartet wurden.
Viele Dinge haben sich jedoch im neuen CentOS 7.x geändert, einschließlich der Art und Weise, wie es Dienste aufgrund des neuen Dienstverwaltungssystems handhabt.
Unter CentOS 7 wird diese Datei nicht mehr standardmäßig ausgeführt (wie es bei früheren CentOS-Versionen der Fall war), aufgrund der Einführung von systemd.
Wie werden Skripte beim Booten unter CentOS 7 automatisch ausgeführt?
Um Skripte automatisch von der rc.local-Datei (/etc/rc.d/rc.local) auszuführen/auszuführen, müssen Sie Ausführungsberechtigungen auf diese Datei anwenden
Machen wir es ausführbar, indem wir diesen Befehl als root ausführen:
chmod +x /etc/rc.d/rc.local
wenn das nicht funktioniert, versuchen Sie es
chmod u+x /etc/rc.d/rc.local
Dieser chmod-Befehl aktiviert das neue rc-local, das vom Systemd-Dienst abhängt.
Anschließend können Sie Skripts automatisch ausführen, indem Sie /etc/rc.local bearbeiten, bei dem es sich um einen symbolischen Link zur Datei /etc/rc.d/rc.local handelt.
Fügen Sie jetzt einfach Ihre Skripts am Ende dieser Datei hinzu und das ist alles. An dieser Stelle sollten Sie beim Booten von CentOS 7 automatisch Skripts ausführen.
Wie kann ich testen, ob meine Skripte automatisch nach dem Booten in CentOS 7 ausgeführt werden?
Einfach. Testen Sie den rc-local-Dienst, indem Sie Folgendes ausführen:
systemctl start rc-local
Eine andere Möglichkeit, dies zu testen, besteht darin, Ihren Server neu zu starten:
shutdow now -rf
Weiterführende Literatur:
- CentOS 7-Versionshinweise