script de inicio

Script de inicio para Squid

Cuando compilamos el servicio de Squid Proxy desde un tarball, indefectiblemente debemos crearle un script de inicio. Eso hace que el servicio se cargue cada vez que prendamos el servidor. También nos puede servir para reiniciar o detener el servicio manualmente.

Entonces, creamos un archivo llamado “squid.sh” y lo ubicamos en la ruta /etc/ini.t/. Luego, insertamos en su contenido el siguiente código:

#!/bin/bash
#
#
squid_start() {
       if [ -x /opt/squid/sbin/squid ]; then
          echo "Iniciando Servidor Squid"
          /opt/squid/sbin/squid
    fi
}
squid_stop() {
  /opt/squid/sbin/squid -k shutdown
  /opt/squid/sbin/squid -k shutdown
  rm /opt/squid/var/run/squid.pid
  echo "Parando Servidor Squid”
}
squid_restart() {
       squid_stop
       sleep 1
       squid_start
       echo "Reiniciando Servidor Squid"
}
case "$1" in
'start')
       squid_start
       ;;
'stop')
      squid_stop
      ;;
'restart')
      squid_restart
      ;;
*)
echo "usage $0 start|stop|restart"
;;
esac

Si el fragmento del script que detiene el servicio no funciona, puedes reemplazar la línea /opt/squid/sbin/squid -k shutdown, por esta: killall squid

Finalmente configuramos el script de inicio como runlevel, para que el kernel lo inicie cada vez que prendamos el servidor.

_$ sudo update-rc.d squid.sh defaults

Este comando creará un link simbólico del script de inicio en los distintos runlevels (rc.3, rc.5, rc.6), dandole un nombre que comienza con S para el inicio (S23squid.sh) y K para el apagado (K23squid.sh).

Comencemos a probar su funcionamiento. Para iniciar:

_$ sudo /etc/init.d/squid.sh start

Para detenerlo:

_$ sudo /etc/init.d/squid.sh stop

Para reiniciarlo:

_$ sudo /etc/init.d/squid.sh restart

Debemos colocar los anteriores comandos como parámetros en el módulo de configuración de Squid en Webmin, para que podamos administrar su ejecución a través de esta consola:

script de inicio

Recuerde darle permisos de ejecución al script para que funcione.

Carga de procesos o de scripts al inicio del sistema en Ubuntu 18.04


Con ese tema del Systemd, el proceso interno de carga de servicios en Linux cambia, y difiere bastante del veterano sistema init heredado del Unix, System V. Entonces, debemos realizar un procedimiento diferente para la carga automática del script de inicio de Squid. O sea, el comando update-rc.d ya no nos funciona en versiones nuevas de Ubuntu.

El archivo /etc/rc.local que también nos servía para cargar scripts automáticamente al prender la máquina, quedó eliminado con Systemd. Sin embargo, con este procedimiento podemos volver a activarlo para nuestra facilidad en la gestión.

El procedimiento es el siguiente:

1– Debemos crear el archivo /etc/rc.local. Dentro de este archivo declararémos la ruta de nuestro script de inicio (y todos los que necesitémos). Entonces, comenzamos creando el archivo:

_$ sudo touch /etc/rc.local

2– Declaramos nuestro script de inicio ahí adentro:

!#/bin/bash
/etc/init.d/squid.sh start
exit 0

3– Luego, creamos el archivo rc-local.service:

_$ sudo nano /etc/systemd/system/rc-local.service

4– Ahí adentro colocamos el siguiente texto y guardamos:

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

5– Damos permisos de ejecución al archivo rc.local:

_$ sudo chmod +x /etc/rc.local

6– Activamos el servicio para que cargue al arrancar el sistema:

_$ sudo systemctl enable rc-local

7– Iniciamos el servicio:

_$ sudo systemctl start rc-local.service

8– Verificamos el estado del servicio:

_$ sudo systemctl status rc-local.service

Y listo, podemos reiniciar la máquina para comprobar.

Puede usted encontrar una ampliación sobre programación de scripts en GNU/Linux, aquí

 

Puede que le interese «Migrar de Windows a Linux«

También puede que le interese «Monitorear tráfico del canal de Internet en Linux»

Además le puede interesar «Cómo mitigar la obsolescencia programada con software libre»

También puede ver algunos «Aspectos Generales de la Seguridad Informática«

Tenemos además un post sobre cómo «Matar Procesos Zombis» en Linux

 

< Cuarta ParteSexta Parte >

Script de inicio para Squid Overall rating: ★★★★★ 5 based on 1 reviews
5 1

 

Su nombre
Email
Titulo
Valoración
Opinión

 

Buen aporte

★★★★★
5 5 1
Solucionado, muchas gracias.
Comparte esto en
Publicado en Servidor Proxy.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *