Hängt von Distributionen ab.
Wenn Sie sich auf von Debian abgeleiteten Distributionen befinden, gibt es mindestens zwei richtige Orte, /etc/rc.local und crontab. Sie können crontab als root aufrufen,
crontab -e
und dann diese Zeile einfügen
@reboot /home/my_name/bin/my_command
wobei my_command
ist eine ausführbare Datei (chmod 755 my_command
).
Alternativ können Sie auch eine Zeile wie diese platzieren
/home/my_name/bin/my_command
in /etc/rc.local, und diese wird zuletzt ausgeführt. Denken Sie auf jeden Fall daran, dass Sie die Root-Umgebung verwenden, nicht Ihre. Auch aus diesem Grund ist es am besten, absolute Pfade zu verwenden.
Wenn Sie sich auf einem systemd befinden distro (Arch Linux, Fedora 19,...) ist die erste Option (crontab) noch gültig, während die zweite (/etc/rc.local) nicht mehr existiert. In diesem Fall sollten Sie lernen, wie Sie einen Dienst starten, der von systemctl
ausgeführt wird , aber das ist vielleicht mehr, als Sie mit Ihrer einfachen Frage erwartet haben.
Wenn Ihr System eine Version von cron
ausführt der es unterstützt (insbesondere Vixie cron), können Sie @reboot
verwenden in einem Cron-Job.
Dies ist eine von 8 speziellen Zeichenfolgen, die es unterstützt.
Zitieren des crontab(5)
Manpage (von meinem Ubuntu 12.04-System):
Anstelle der ersten fünf Felder kann einer von acht speziellen Strings erscheinen:
string meaning
------ -------
@reboot Run once, at startup.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".
Bitte beachten Sie, dass der Start bis zu @reboot
betrifft, ist die Zeit, in der cron(8) Daemon-Start. Insbesondere kann es sein, bevor einige Systemdämonen oder andere Einrichtungen gestartet wurden. Dies liegt an der Startreihenfolge des Computers.
Dies ist bei weitem nicht das einzige Möglichkeit, etwas beim Booten auszuführen, aber es ist eine Alternative.
So ziemlich alle Linux-Varianten (seit langer, langer Zeit) haben eine Datei /etc/rc.local, die beim Start ausgeführt wird - Sie können den Befehl einfach hinzufügen.
Das heißt, Sie müssen das nicht einmal tun. Der "richtige" Weg wäre, die Zeile kernel.sysrq =1 in /etc/sysctl.conf
zu modifizieren / hinzuzufügen