
Tengo un script en Python que expone un servicio RESTful (usando el marco del matraz). Lo que me gustaría hacer con este servicio es que clone la versión más reciente del script de Python y luego inicie main.py.
Para mí está claro que podría iniciarse en el nivel de inicio 3, sin embargo, no estoy seguro de cómo se debe configurar exactamente la información de inicio y tampoco estoy seguro de si está bien actualizar el crontab con
sudo update-rc.d myservice enable 3
lo que realmente hay en el script myservice es algo como:
#!/bin/sh
rm -fR /home/pi/myservicedir
git clone https://repo/code.git /home/pi/myservicedir
cd /home/pi/myservicedir
python main.py
Respuesta1
Su guión no es un init.d
guión adecuado. Es posible que haya un archivo de plantilla /etc/init.d
que pueda utilizar para crear su secuencia de comandos de inicio. De lo contrario, mire algunos de los otros scripts /etc/init.d
para encontrar el patrón utilizado por su distribución.
Alternativamente, rc.local
normalmente se ejecuta muy tarde en el ciclo de arranque. Este sería un lugar apropiado para colocar su código de inicio. Verifique el valor de $1
is start
antes de ejecutar su código.
Los servidores se inician en el orden indicado en /etc/rc3.d
. Los scripts de finalización que comienzan K
se ejecutan primero en orden léxico, luego los scripts de inicio S
se ejecutan en orden léxico. Si desea asegurarse de que todo esté funcionando, utilice un orden de inicio de 99
.
Su distribución debe tener un método para instalar y eliminar enlaces en los rc#.d
directorios. En tu caso parece serlo update-rc.d
. Esto normalmente se controla mediante líneas de comentarios en la parte superior del init.d
script.
Debería haber man
páginas que describan los programas y archivos que necesita. Intenta correr man update-rc.d
y man -k init
.
Respuesta2
Especifique $network, así:
#!/bin/bash
### BEGIN INIT INFO
# Provides: mountftp
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Mount disk2
# Description: Mount disk2
### END INIT INFO