Perfiles de Horarios! manejo del cron, rc.local y perfil.cfg

Perfiles de Horarios! manejo del cron, rc.local y perfil.cfg

Mensagempor EugenioNava » Dom Ago 14, 2011 1:23 pm

Reciban mis mas cordiales saludos desde Venezuela.-

Espero que este pequeño tutorial sirva a muchos sobre el manejo de perfiles y su aplicación por horarios:

1.) Crear y establecer las caracteristicas individuales que tendra cada perfil, en mi caso lo hago con
dos (2) nombres: limitado y libre.-

Cabe destacar que para crear un perfil hay que colocar las configuraciones individuales que estarán
presentes durante el mismo y cada perfil es 100% independiente uno del otro, el detalle importante es
que cada perfil se debe llamar desde adentro de cada uno, es decir, para invocar el perfil limitado se
debe colocar un comando en el cron desde el perfil libre y viceversa! (abajo se explica).-

Un aspecto muy importante de un perfil es que NO depende de un horario especifico, sino que su horario de
ejecución es el que sera controlado a traves del rc.local y del cron.-

2.) En mi caso particular es importante aclarar estos perfiles estan ligados al manejo del squid y
sus listas donde he agregado una nueva variable que se llama perfil.cfg que es simplemente un archivo
de texto y contiene el nombre del perfil respectivo, es decir:

- perfil='LIMITADO' cuando trabajo con el perfil LIMITADO
- perfil='LIBRE' cuando lo hago con el perfil LIBRE.-

los nombres con las letras en mayuscula y estará ubicada en: /usr/local/squid/etc/perfil.cfg

Esta nueva variable perfil.cfg se debe agregar al archivo: /var/lib/lrpkg/squid.config_files para que cada vez
que el perfil cambie, lo haga la variable y al realizar backup mantega actualizado el directorio /mnt al igual que
las otras variables que estan en este archivo, es decir:

perfil.cfg ../../usr/local/squid/etc/perfil.cfg

Agregar en la penultima linea, no en la ultima.-

3.) Para controlar el inicio del Servidor BFW o en caso de algun corte de electricidad y el servidor se reinicie,
utilizo el rc.local con la siguiente configuración donde asigno el horario que tendra cada perfil:

Código: Selecionar todos
#!/bin/sh

. /usr/local/squid/etc/perfil.cfg

***************************************************************
# Perfil LIMITADO: Lunes a Domingo: 7am - 9pm
# Hora comienzo 7:00am
hora1=7

# Hora Final 9:00pm (21)
hora2=21

# Perfil LIBRE: Lunes a Domingo: 9pm - 7am

clear

echo "Calculando Hora, Dia, Mes y Año ......"

# la variable hora en formato 24Hrs

hora=$(date +%H)
minutos=$(date +%M)
horaminutos=$(date +%R)
ddia=$(date +%A)
diasemana=$(date +%a)
nrodia=$(date +%u)
nromes=$(date +%d)
mmes=$(date +%m)
annio=$(date +%Y)

clear

echo "*******************************************"
echo "La hora es.................: " $hora
echo "Minutos ...................: " $minutos
echo "HoraMinutos................: " $horaminutos
echo "*******************************************"
echo "Hora1 .....................: " $hora1
echo "Hora2 .....................: " $hora2
echo "*******************************************"
echo "El dia  es.................: " $ddia
echo "dia de semana .............: " $diasemana
echo "No. del dia de la semana...: " $nrodia
echo "*******************************************"
echo "No. del dia del mes .......: " $nromes
echo "El mes  es.................: " $mmes
echo "El año  es.................: " $annio
echo "*******************************************"

sleep 10

# Cargando Perfiles...........

if [ $hora -ge $hora1 ] && [ $hora -lt $hora2 ];then
   echo "Cargando perfil LIMITADO... desde $hora1 am hasta $hora2 pm ..."
   sleep 8

   profile.load limitado

else

   echo "Cargando perfil LIBRE... mas de $hora2 pm hasta $hora1 am ...."
   sleep 8

profile.load libre

fi


Nota: es importante aclarar que cada perfil tiene su rc.local

4.) Luego a traves del cron voy controlando a cada perfil, es decir cada perfil se debe llamar desde adentro:

Código: Selecionar todos
# Crontab Example File for Coyote Linux
# by Claudio Roberto Cussuol - 09-24-2004
# perfil: LIMITADO
# Line Format:
# minute hour day_of_month month day_of_week script_or_shell_command
#
# Example 1: Reload Firewal every day at 08:00am and 06:00pm
# 0 8,18 * * * /etc/rc.d/rc.firewall
#
# Example 2: Make backup at 04:47pm every monday and friday
# 47 16 * * 1,5 lrcfg.back
#
# As you can see, the fields are separated by a space and you can put
# multiple entries in the field, separated by a comma.
52 20 * * * profile.save limitado
53 20 * * * backup
59 20 * * * profile.load libre
59 23 * * * squid -k rotate
0,20,40 * * * * sarg


Si el perfil limitado va desde 7am-9pm (21) un poco antes grabo el perfil limitado y luego llamo al perfil libre
que va desde 9pm-7am.-

5.) al igual cuando trabaje con el perfil libre y quiera llamar al limitado este es su cron:

Código: Selecionar todos
# Crontab Example File for Coyote Linux
# by Claudio Roberto Cussuol - 09-24-2004
# perfil: LIBRE
# Line Format:
# minute hour day_of_month month day_of_week script_or_shell_command
#
# Example 1: Reload Firewal every day at 08:00am and 06:00pm
# 0 8,18 * * * /etc/rc.d/rc.firewall
#
# Example 2: Make backup at 04:47pm every monday and friday
# 47 16 * * 1,5 lrcfg.back
#
# As you can see, the fields are separated by a space and you can put
# multiple entries in the field, separated by a comma.
52 6 * * 1,2,3,4,5,6,7 profile.save libre
53 6 * * 1,2,3,4,5,6,7 backup
59 6 * * 1,2,3,4,5,6,7 reboot
59 23 * * * squid -k rotate
0,20,40 * * * * sarg


a esto llamo llamar a cada perfil desde adentro... es decir el limitado llama al libre y luego el libre al limitado,
por eso cada perfil es independiente y tiene sus caracteristicas totalmente individuales.-

Espero haber contribuido y aclarado el tema del manejo de perfiles.-

Muy atentamente,

Eugenio Nava
Venezuela.-
Editado pela última vez por reginaldo em Dom Mar 27, 2016 6:05 pm, em um total de 2 vezes.
Razão: Agregadas etiquetas CODE.
Avatar do usuário
EugenioNava
BFW Very Participative
 
Mensagens: 408
Registrado em: Qui Out 05, 2006 6:04 pm
Localização: Naguanagua - Valencia - Venezuela
BrazilFW Box: "La Investigación ha sido mi pasión y refugio...."

Voltar para Varios tutoriales

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante