Paso 4: Escribir el script de servicio
En algunas distribuciones hay esqueletos que se pueden utilizar para este propósito. Usted sólo llevarlos y rellena las cosas que usted necesita.
Con opensuse no viene nada como eso, así que tenemos que utilizar uno existente y modificarlo.
Ya estamos trabajando en /etc/init.d/ tienes que ser root para editar y guardar archivos aquí.
tipo: "su" y la contraseña de root para convertirse en root.
A hacer un nuevo script llamado networklog y llenar con este contenido:
#! / bin/sh LOGFILE = / home/ak/networklogfile Case "$1" en
# Copyright (c) 2014 andyk75
#
# Autor: andyk75 (instructables)
#
# /etc/init.d/networklog
#
# y simbólica su vínculo
#
### BEGIN INIT INFO
# Proporciona: networklog
# Inicio requiere:
# Parada necesaria:
# Por defecto-Inicio: 5 de 3
# Por defecto-Stop: 0 1 2 6
# Descripción: Iniciar la networklogging
# Short-Description: hacer Networklog
### END INIT INFO
echo - n "A partir de Networklogging"
## Start daemon con startproc(8). Si esto no funciona
## el eco retorno valor es apropiado.
;;
echo 'ifconfig' >> $LOGFILE
echo - n "Shutting down Networklogging"
## Parar demonio con killproc(8) y si esto no funciona
## set echo el valor de retorno de eco.
;; reiniciar) ## Parar el servicio y sin importar si era
## funcionando o no, comenzar de nuevo.
# Recuerde estado y estar tranquilo
;; Estado) echo - n «Comprobación de Networkloggingservice»
## Comprobar estado con checkproc(8), si está ejecutando el proceso de
## checkproc regresará con estado de salida 0.
;; *) echo "uso: $0 {start|stop|status|restart|}"
salida 1
;;
ESAC
Y no olvides hacerlo ejecutable con 'chmod + x networklog'
Explicación:
- En la parte de encabezado con "### BEGIN INIT INFO" hasta "### fin INIT INFO" especificamos en que los niveles de ejecución este servicio debe ser iniciado (3 + 5) y en la que debe ser detenido (0, 1, 2, 6). Y tenemos una breve descripción del servicio. El necesario comienzo y parada de campos están vacíos, porque no contamos con ningún otro servicio para iniciarse.
- Ahora otra vez tenemos una variable llamada archivo de registro, como en el testscript antes.
- Pero la instrucción de caso nuevo. Cuando la escritura se llama con un parámetro, este parámetro se puede acceder dentro de la secuencia de comandos con $1, y esto es lo que sucede aquí: según el parámetro de la instrucción case ejecuta solamente las líneas tras el parámetro. Disponemos de "start", "stop", "reiniciar", "estado" y el comodín "*" que se aplica si el parámetro es otra cosa. Puedes ver en el eco del comodín, usted obtiene el nombre del script ($0) sí mismo con una pequeña instrucción de cómo usarlo.
- Reinicio no hace realmente nada.
- Cuando el proceso init llama networklog Inicio: la fecha actual con una etiqueta de inicio se escribe en el archivo de registro.
- Cuando el proceso init llama 'stop networklog': la salida de ifconfig y la fecha actual con una etiqueta de stop se escribe en el archivo de registro.
Y eso es todo.