El siguiente script es una colaboración del señor (Nombre del desarrollador), y es ideal cuando se usan diferentes fechas de pago.
1- Primeiro que todo ingrese a webadmin desde cualquier navegador, y haga clic en “configutacion files”, luego seleccione “Edit Any File” y en la caja de texto digite:
/usr/local/easycaptive/config/passwd
2- El archivo contiene la tabla de clientes finales con el siguiente formato:192.168.0.65:1:0
3- Tiene que cambiar eso al formato Dia-20-NomeDoCliente::192.168.0.65:1:0
Coloque la palabra "Dia-" seguida del numero del dia en que necesita realizar el bloqueo total.
Ejemplo:
Dia-20-Fulano::192.168.0.65:1:0
Dia-15-Ciclano::192.168.0.70:1:0
Dia-5-Beltrano:192.168.0.75:1:0
En este momento script ./controle ya se esta ejecutando.
Ahora solo falta agregar a las tareas del cron: /usr/local/easycaptive/bin/controle
En los ejemplos anteriores, fulano será pre-bloqueado el día 20 y bloqueado el 25 de cada mes
Eso quiere decir que usted debe desbloquear al usuario manualmente desde la pagina de administración del Easy Captive
El script trabaja en la secuencia liberado, pre-bloqueado y bloqueado.
Con lo anterior, se pretende aclarar que si el cliente está liberado, primero pasa a ser pre-bloqueado, tiempo en el cual usted podrá liberarlo al realizar el pago, o dejar que el sistema lo bloquee totalmente.
Funcionamiento del nuevo formato de la lista clientes
Dia-20-Clinte::192.168.0.65:1:0
Dia-20-Cliente es en realidad el nombre de cliente final, podría ser cualquier cosa (excepto un espacio en blanco), pero en realidad se usa para dos cosas, la primera; para saber cual es el dia que el cliente debe pagar y la segunda para saber cual su ip.
192.168.0.65 es la ip dela máquina.
El número “1”, corresponde al tipo de cliente autenticado, no autenticado, prepago, …
El ultimo número “0” es el responsable de Liberar=0 Pre-Bloquear=1 o Bloquear=2
Ingrese a BrazilFW por medio de putty, y en el promt digite:
cd /usr/local/easycaptive/bin/
Digite:
edit controle
y coloque el siguiente código:
- Código: Selecionar todos
#!/bin/sh
clear
#Actualiza la fecha y hora automáticamente
rdate -s time-b.nist.gov
#date -s MMDDHHMM
#hwclock -w
echo
#Sistema para control
#Plazo de días para que el usuario sea bloqueado definitivamente (Solo funciona con valores de 1 a 30)
blok="5"
#Coloque las iniciales de los nombres de la tabla de easy captive
#Arquivo /usr/local/easycaptive/config/passwd
#Exp. Dia-20-Clinte::192.168.0.65:1:0
#Variable para calcular el día
dia=`date +%d | sed -e /^0/s/0//`
#Si el día de plazo de vencimiento es mayor que la fecha actual
if [ "${blok}" -gt "${dia}" ]; then
negativo="$(($blok-$dia))"
positivo="$((30-$negativo))"
sed -i '/^Dia-'$dia'-/s/:1:0/:1:1/' /usr/local/easycaptive/config/passwd
sed -i '/^Dia-'$positivo'-/s/:1:1/:1:2/' /usr/local/easycaptive/config/passwd
echo Pre-Bloqueio para vencimento del dia $dia.
echo Bloqueo permanente para vencimento del dia $positivo.
#Si el dia de plazo de vencimiento es menor que la fecha actual
elif [ "${blok}" -lt "${dia}" ]; then
sed -i '/^Dia-'$dia'-/s/:1:0/:1:1/' /usr/local/easycaptive/config/passwd
sed -i '/^Dia-'$(($dia-$blok))'-/s/:1:1/:1:2/' /usr/local/easycaptive/config/passwd
echo Pre-Bloqueo para vencimento del dia $dia.
echo Bloqueo permanente para vencimiento del dia $(($dia-$blok)).
fi; echo
#Realiza backup
/usr/sbin/lrcfg.back easycaptive
rm -f /tmp/easycaptive.needsave
exit
Ahora, presione CTRL+Q y luego la tecla “Y”, esto guardará cambios.
Ahora, permita la ejecución por medio de
chmod +x controle
Para ejecutar el script a la hora que quiera, digite en la consola
./usr/local/easycaptive/bin/controle
Solo resta hacer backup desde BrazilFW.