Obtenga un script para ejecutar al inicio (linux)

2

Estoy tratando de obtener un script simple para ejecutarse automáticamente al inicio. Un amigo me dijo que hiciera esto pero no funcionó. ¿Podría alguien echar un vistazo para ver qué le falta?

* (También soy nuevo en Linux, así que esto es bastante extraño para mí)

Esto es lo que me dijeron que hiciera:

En terminal

sudo nano /etc/init.d/obabp.sh

Luego ingrese este texto:

#!/bin/bash
sudo python /home/pi/gits/RPi-OBABP/src/obabp.py 

guardar el archivo y luego

$ sudo chmod +x /etc/init.d/obabp.sh
$ sudo shutdown -r now
Dan Graves
fuente

Respuestas:

3

Usa cron. Agregue esto a su crontab:

@reboot path to script

Haga clic aquí para obtener más detalles: Linux Crontab: 15 ejemplos de trabajo Cron impresionante

Harit Vishwakarma
fuente
Literalmente lo descubrí colocándolo en la secuencia de inicio, ¡pero este método hubiera sido mucho más fácil! gracias
Dan Graves
2

Puede ejecutar / iniciar scripts / daemons durante el arranque mediante la configuración /etc/rc.local. Entonces, en teoría, puede iniciar los demonios en orden secuencial, enumerándolos en /etc/rc.local. Vea si lo siguiente funciona para su situación.

ejemplo:

#!/usr/bin/path/to/bash
/etc/init.d/mpd start
/etc/init.d/daemon1 start
/etc/init.d/daemon2 start
/etc/init.d/your/script/that/depends/on/daemons

fuente
1
Creo que estás en el camino correcto. Sin embargo, mi versión de Linux no tiene la carpeta /etc/rc.local, tengo rc0.d a través de rc6.d y he intentado cambiar el orden de arranque allí, si lo estoy haciendo correctamente. Seguí estas instrucciones: ehow.com/how_6162954_change-start-order-processes-linux.html
Dicho esto, todavía no funcionó, así que espero que haya cometido un error en alguna parte
¿Qué distro está usando? Además, ¿tiene /etc/init.d/rc.local?
No, yo tampoco tengo eso. Estoy haciendo esto en una mini computadora Raspberry Pi, por lo que ejecuta una versión de Debian (creo) llamada Raspbian
OK, así que cambié el nombre del archivo para cambiar la secuencia, pero necesito actualizarlo. Y aquí está mi muestra de novato, ¿alguien puede ver esto y decirme qué se supone que debo hacer? dropbox.com/s/bwpezgph736gna4/2012-12-17%2001.02.06.jpg
Dan Graves
0

Como sudo generalmente te solicita una contraseña, no creo que realmente puedas hacer esto. No sé exactamente qué está haciendo su script, pero supongo que no debería necesitar ser root para ejecutarlo. Intenta eliminar "sudo" de la línea "sudo python /home/pi/gits/RPi-OBABP/src/obabp.py" Si eso funciona, te ayudaré a arreglar esto un poco más. Buena suerte.


fuente
Intenté eso, pero el script realmente necesita ejecutarse con sudo. Está en una pequeña computadora Raspberry Pi y tiene algo que ver con el conector GPIO que necesita sudo, supongo. No me dejará ejecutar el script sin usarlo
Apuesto a que hay que hacer algo para que el guión esté activo, tal vez algo asísudo /usr/sbin/update-rc.d obabp.sh defaults
@ GregA.Woods Ahora estamos llegando a alguna parte. Cuando veo el proceso de arranque, intenta iniciar el script pero aparece un error. ¿Sabrías por qué? el script se ejecuta perfectamente cuando lo inicio en la terminal
tal vez si publica los errores que ve, incluso mejor agregue el paso que falta que lo llevó tan lejos en su pregunta, luego agregue los errores que ve allí también.
@ GregA.Woods aquí hay una imagen de la pantalla de los errores. dropbox.com/s/5kdz2zzzdu6yr7k/2012-12-16%2023.28.44.jpg
0

¿Qué hay de tratar de crear un script de inicio en

/etc/rcS.d/

Creo que los scripts dentro de rcS.d que comienzan con 'S' se ejecutan en orden secuencial.


fuente
No tengo ese directorio. Tengo rc0.d a través de rc6.d y descubrí que mi sistema operativo arranca con rc2.d, así que intenté cambiar el orden pero parece que no funciona