¿Cómo hago que un script se ejecute al iniciar la máquina Ubuntu?

Respuestas:

8

Manera simple

Puede agregar este script en el /etc/rc.localarchivo (antes de la exitlínea), p. Ej.

/home/myuser/go.py &

Donde &al final se ejecutará el script en segundo plano.

Asegúrese de tener banderas de ejecución. Para probarlo, simplemente ejecute desde la terminal:

sh /etc/rc.local
kenorb
fuente
2

Puede poner una secuencia de comandos en el /etc/init.d/directorio (por ejemplo /etc/init.d/go.py:) para cualquier cosa que desee ejecutar en el momento del arranque.

http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian

Tim
fuente
77
Prefiero /etc/rc.localya que no es necesario cambiar los enlaces de nivel de ejecución.
Dirk Eddelbuettel
@DirkEddel - ¡Estoy de acuerdo con eso!
BloodPhilia
¿Quizás debería agregar esto como una respuesta separada para que pueda ser votado?
Steve Homer
2

Hay muchas formas de hacerlo (dependiendo de la distribución de Linux que esté utilizando, se ofrecen diferentes herramientas).

La forma más fácil es simplemente agregar el script a /etc/init.d y luego ejecutar el comando

chmod +x go.py
update-rc.d go.py defaults

Si ya configuró el servicio, también puede hacerlo mediante el comando chkconfig (es decir, si el comando está disponible).

En ese caso, este comando debería funcionar:

chkconfig --level 35 go.py on

Consulte ESTE SITIO WEB, más específicamente las secciones "Uso de chkconfig para iniciar daemons en cada nivel de ejecución" y "Uso de sysv-rc-conf para iniciar daemons en cada nivel de ejecución".

Ormis
fuente
0

cron tiene una @rebootopción especial que permite esto. Agradable y simple

Una tarea cron normal podría ser:

* * * * * /path/to/app

Una @reboottarea cron podría ser:

@reboot /path/to/app
ceejayoz
fuente