¿Cómo puedo iniciar y detener un servicio utilizando el comando "servicio", en lugar de "/etc/init.d/nameofservice start"?

¿Cómo puedo iniciar y detener un servicio utilizando el comando "servicio", en lugar de "/etc/init.d/nameofservice start"?

Estoy iniciando un servicio (httpd) usando este comando:

/etc/init.d/'name of service' start

¿Cómo puedo iniciar un servicio usando el siguiente comando, si la palabra clave de servicio no está configurada para el servicio httpd anterior?

2) inicio del servicio 'nombre del servicio', por ejemplo: inicio del servicio httpd

¿Cómo puedo configurar un servicio que pueda iniciarse y detenerse utilizando la palabra clave de servicio, es decir: "inicio del servicio 'nombre del servicio'" (palabra clave de servicio como en la opción 2) en lugar de /etc/init.d/nombredelservicio?

Respuesta1

El comando service(8) busca un script en /etc/init.d. Si no existe tal script, es posible que tengas que escribir el tuyo propio. En la web puedes encontrarguías que te ayudarán a hacer eso.

Respuesta2

A continuación se prueba el script en Centos 5. Crearemos un script que imprimirá la fecha y hora actuales y la salida se dirigirá al archivo de registro y se guardará con el nombre cronometrado.

vim /opt/timed     


 #!/bin/bash 
while true;do
      echo  `date` >> /tmp/timed.log 
done #script finish here below line enable execute permission of script

 chmod +x /opt/timed

Ahora escribiremos el script System V para iniciar y detener el script cronometrado.

vim /etc/init.d/time (save the script only in /etc/init.d directory only with the name of your choice we use name time here)


  #!/bin/bash  
  # chkconfig: 345 80 20      
  # description: startup script for /opt/timed daemon  
start() {  
nohup /opt/timed &  
}  
stop() {  
pkill timed  
}  
case "$1" in  
             start)   
                   start  #calling the start () function  
             ;;  
             stop)  
                   stop # calling the stop() function
             ;;  
             *)
                   echo "Usage: $0 {start|stop}"  
                   RETVAL=1 #we return the value 1 bcz cmd is not sucessfull  
  esac
  exit 0



 chmod +x /etc/init.d/time  (enabling the execute permission of script)
 service time start    (it will start the script timed)
 ps –ef | grep timed (we can check that script is running with this command)

Explicación del guión

El script de hora debe estar en el /etc/init.ddirectorio. chkconfig: 345 80 20Es un componente necesario del script 345 que representa los niveles de ejecución 3,4 y 5. 20 significa que el comando de inicio tendrá el número 20 (S20) en el directorio /etc/rc3/. 80 significa que el comando de parada tendrá el número 80 (k80) en el directorio /etc/rc3/.

start()y stop()son funciones para iniciar y detener el demonio. Cuando ejecuta un trabajo de Unix en segundo plano (usando el comando &, bg) y cierra sesión, su proceso se cancelará. Puede evitar esto utilizando varios métodos: ejecutar el trabajo con nohup o convertirlo en un trabajo por lotes utilizando el comando at, por lotes o cron. El comando PKill le permite eliminar un programa simplemente especificando el nombre. $1 toma el primer argumento. $0 significa nombre del script. RETVAL es la variable de entorno que es como el estado de salida del script si es 0, el script se ejecuta correctamente y 1 significa que el script no se ejecuta correctamente. Si especificamos un comando distinto de iniciar o detener, se imprime el mensaje de uso.

información relacionada