it-swarm.com.de

Ausführen eines Skripts beim Booten, nicht beim Anmelden

Wie kann ich ein bestimmtes Skript ausführen lassen (vorzugsweise nicht als Superuser), wenn der Computer gestartet wird, aber bevor ich mich anmelde? Es kann das letzte sein, was beim Booten ausgeführt wird. Ich möchte meistens nur, dass das Skript funktioniert, auch wenn sich kein Benutzer anmeldet.

10
Malabarba

Ich würde die Verwendung von cron empfehlen. Der spezielle Zeitwert von @reboot erzeugt Ihren Job bei jedem Neustart als Ihr Benutzer. Führen Sie beispielsweise crontab -e aus und verwenden Sie:

@reboot /home/yourself/bin/some_script_to_run

Weitere Einzelheiten zu den speziellen Zeitformaten finden Sie unter man 5 crontab.

8
Kees Cook

Eine Möglichkeit ist die Verwendung von Upstart. Auf diese Weise können Sie angeben, wann Sie Ihr Skript in Abhängigkeit ausführen möchten, z. "Wenn die Dateisysteme eingehängt sind und die Netzwerkschnittstelle eth0 aktiv ist". Erstellen Sie eine Datei /etc/init/bruce_script.conf (Sie müssen die Datei als root erstellen), die etwa Folgendes enthält:

description "Bruce's boot script"
start on filesystem and net-device-up IFACE=eth0
task
exec su -c '/home/bruce/script' bruce

In der Dokumentation zu pstart finden Sie weitere Informationen, insbesondere in der init(5) Manual Page . Dort finden Sie eine Liste der Elemente, die Sie in diese Konfigurationsdatei einfügen können.

4
Gilles