Cómo crear un script de inicio init.d

8

Solo quiero ejecutar un comando muy simple al inicio. ¿Cómo puedo hacer eso? He buscado en google y tiene ejemplos muy complicados, pero lo que necesito es ejecutar este script en el inicio. ¿Cómo puedo hacer eso?

Guión

./init.d/opscenter-agent start

sed
fuente

Respuestas:

8

Si desea hacer esto como inicio del sistema (a diferencia de cuando inicia sesión en su computadora), coloque los comandos que desea ejecutar /etc/rc.local.

Ver [Ubuntu] Ejecutar un script al inicio y apagado .

Li-aung Yip
fuente
El OP solicitó específicamente un script init.d, que en realidad no es así. Es un enfoque relacionado, principalmente en virtud de que fue la forma en que hacíamos las cosas hace 30 años impares, y ahora más o menos nunca lo hacemos gracias a enfoques más nuevos como init.d. (que a su vez está en desuso a favor de systemd's / etc / init).
mc0e
3

Si el script no necesita ser ejecutado por root, puede hacer esto:

1) Abra "Preferencias de aplicaciones de inicio" ( Alt+ F2y pegue gnome-session-propertiesy presione Enter),

2) Presione "Agregar" y seleccione su script:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


Si no está utilizando un entorno gráfico, puede poner las órdenes justo antes de la línea exit 0en este archivo: /etc/rc.local. (Para editarlo solo pegue en la terminal sudo nano /etc/rc.local.

desgua
fuente
No es bueno ya que estoy usando Putty para administrar el servidor Debian, sin GUI :)
sed
Puede poner los comandos (o un enlace a su script) en este archivo:/etc/rc.local
desgua
Esta es una alternativa al script init.d que solicitó el OP.
mc0e
1

El enfoque /etc/rc.local 'ejecutará un comando muy simple al inicio', pero no es un enfoque de script init.d, y es de varias maneras inferior. (Eso puede no importar, dependiendo de su propósito).

A diferencia de los scripts init.d, los comandos rc.local no ofrecen una interfaz estándar para iniciar y detener un proceso, y no ofrecen mucha capacidad de influencia cuando se ejecutan en el proceso de inicio. Puede ver en el /etc/init.d/rc.localscript que esto se ejecuta después de todo lo demás ( Required-Start: $all).

Si una secuencia de comandos init.d es realmente lo que desea, por lo general, simplemente tomar una secuencia de comandos existente, copiarla y editarla funciona bien, aunque algunas de las secuencias de comandos existentes tienen más complejidad de la que desea. Como así es como comienzan la mayoría de los scripts init.d, ubuntu proporciona /etc/init.d/skeleton para este propósito.

También vale la pena echarle un vistazo:

  • /etc/init.d/motdes un ejemplo mínimo que ejecuta algo al inicio, pero con la Required-Startconfiguración de parámetros cuando debería ocurrir.
  • /etc/init.d/crones un punto de partida simple para un proceso demonio (más o menos la parse_environmentfunción, que probablemente no necesites).
mc0e
fuente