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. Esto sirve para que el servicio suba 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
#
#

CUENTA=0
squid_start() {
聽 聽 聽 聽if [ -x /opt/squid/sbin/squid ]; then
聽 聽 聽 聽 聽 echo "Iniciando Servidor Squid"
聽 聽 聽 聽 聽 /opt/squid/sbin/squid &
聽 聽 fi
}


squid_stop() {

echo "Deteniendo Servidor Squid"
/opt/squid/sbin/squid -k shutdown

# CREAMOS UN BUCLE WHILE PARA INFORMAR EN PANTALLA LOS SEGUNDOS TRANSCURRIDOS DESDE EL CIERRE DE SQUID

while [ /opt/squid/var/run/ ]; do
let "CUENTA++"
archivo_pid=/opt/squid/var/run/squid.pid

# VERIFICAMOS QUE EL PID DE SQUID DEJE DE EXISTIR PARA SALIR DEL BUCLE WHILE

if [ -f "$archivo_pid" ]; then
聽echo "DETENIENDO - puede tardar entre 30 y 60 segundos"
else
聽break
fi

sleep 1

echo $CUENTA
done
echo "Servicio Squid Detenido"

}

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

驴Por qu茅 toca esperar tanto para que cierre Squid?

Porque el comando squid -k shutdown hace que Squid vaya terminando las conexiones de los clientes en orden. Si quieres que Squid se cierre sin esperar a nadie, cortando abruptamente las conexiones, usa el comando squid -k interrupt.

De todas formas, si queremos acortar el tiempo de cierre del proceso con la opci贸n -k shutdown (digamos que a 15 segundos), debemos adicionar el siguiente par谩metro en el archivo de configuraci贸n de Squid:

shutdown_lifetime 15 seconds

Probando el script


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

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

Comience 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

 

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 >

 

 

Comparte esto en
Publicado en Servidor Proxy.

Deja una respuesta

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