Wie zum ausführen von Skripts beim Start von Fedora 14 Maschine
Habe ich eine AWS-AMI mit Fedora 14 installiert. Ich habe keinen root-Zugriff haben, aber ich kann so ziemlich alles mit sudo
. Ich habe ein script, das ich ausführen will, an der Maschine den Start - myScript.sh
.
Dieses Skript aufgerufen wird, durch den Aufruf sudo /dir/dir/myScript.sh start
. Es unterstützt auch die Befehle stop
und status
die ich sehr oft verwende.
Was ist der ideale Weg, um solch ein Skript beim Systemstart?
sudo
Zugang bedeutet in der Regel root-Zugriff, wie sudo
ermöglicht das ausführen von Befehlen als root.Das gehört auf serverfault
InformationsquelleAutor Alex | 2011-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einige Mechanismen, die leicht verfügbar:
Die beiden häufigsten Mechanismen:
Hinzufügen eines upstart-job definition - Datei. Dies sieht einfach aus, aber schränkt die Distributionen können Ihr Skript zur Verfügung gestellt, um eine Handvoll von neueren (Ubuntu, Google Chrome distribution, Fedora, wahrscheinlich RHEL?).
Hinzufügen eines sysv-init initscript. init-Skripte sind schwerer zu schreiben, aber haben wesentlich mehr Flexibilität in der Bereitstellung mehrere Kommandozeilen-Argumente für Systemadministratoren verwenden. Sie werden unterstützt, die auch fast überall, sogar Distributionen, die gewechselt haben, (einige oder die meisten) Ihrer initscripts über Upstart-jobs.
Ich sehe es nicht oft, es ist mehr ein system-administrator Wahl als software-Entwickler die Wahl, aber Sie können auch das system Vixie
cron(8)
Anlage zum starten von Programmen beim Booten.Können Sie Einträge hinzufügen, die system-crontab in
/etc/cron.d/*
; Vixie cron unterstützt@reboot
Planer, das sich hervorragend für diese Aufgabe.Oder Sie können einen Eintrag hinzufügen, um Ihre eigenen persönlichen
crontab(5)
- Datei; wieder, Vixie cron ist@reboot
funktioniert für die Benutzer zu, aber Sie können nicht führen Sie eine interaktivesudo(8)
aus einercrontab(5)
. Finden Sie dieNOPASSWD
Dokumentation insudoers(5)
wenn Sie möchten, verwenden Sie Ihre eigenen persönlichencrontab(5)
Datei, aber sei gewarnt, die anderen admins auf der Maschine hassen diese Idee.gute Idee. Da diese Antwort geschrieben wurde, systemd hat auch kommen und verändert Die Antwort für mehrere Distributionen, und das sollte entsprechend behandelt werden...
InformationsquelleAutor sarnold
Ich denke, die einfachste und universellste Methode (wenn auch weniger flexibel als @sarnold Vorschläge) ist das hinzufügen
/dir/dir/myScript.sh start
/etc/rc.local. Das Skript wird dann ausgeführt werden, auf Booten nach all den anderen start-up-Skripte ausgeführt haben.rc.local
standardmäßig nicht mehr, aber es können manuell Hinzugefügt werden.InformationsquelleAutor Owen Fraser-Green