Script

Script que implementa un llistat de respostes automàtiques per a les peticions d'assitència

Cos

En aquest article t'explique com he muntat unes autorespostes baix del camp de descripció de les assistències informàtiques per a no haver de repetir diàriament les mateixes respostes.

artícles
20

Script que detecta si estem a una categoria determinada i mostra un avís personalitzat

Cos

En aquest xicotet article et mostre com he implementat una funcionalitat que mostra un missatge de tipo 'Alert' quan la petició està categoritzada baix una categoria concreta en el nostre Mantis Bug Tracker.

Tenim configurat el Mantis Bug Tracker amb unes categories predeterminades en el nostre projecte però si ens traslladen una petició d'un altre projecte distint al nostre, la categoria que es mostra és "General", una categoria genérica del Mantis Bug Tracker. Açò és perquè a l'altre projecte no necessàriament existeixen les categories que tenim nosaltres configurades.

artícles
20

Script que controla el número de paraules del camp de descripció per a evitar peticions poc descriptives

Cos

En aquest article et mostre com fem el control del número de paraules en el Mantis per a evitar que els usuaris no envien peticions sense descriure bé el seu problema.

Al Mantis Bug Tracker, de vegades, rebem peticions que no entenem o on els usuaris no han descrit exacatment el seu problema, i això ens fa perdre temps perquè ens obligar a telefonar o escriure a l'usuari per a demanar-li més informació.

artícles
20

Script que afegeix la funcionalitat d'omplir els telèfons de les Entitats Locals automàticament

Cos

En aquest xicotet article et deixe un script escrit en Javascript que he preparat a la feina per al gestor d'assistències Mantis Bug Tracker mostre els telèfons de les Entitats Locals.

artícles
20

Script bash para estadísticas de Apache

Cos

Aquí dejo otro interesante script Bash para ver estadísticas de consumo de RAM (cantidad de memoria ocupada, memoria disponible, etc) y conexiones de nuestro servidor Apache. Leído en http://blog.desdelinux.net/script-bash-para-ver-estadisticas-de-consumo…, comparto por que era exactamente lo que necesitaba para mi servidor.

script bash linux apache estadisticas


#!/bin/bash

# Definimos la función
function doStat()
{
# Define variables
# Iniciación de variables que vamos a usar
cnt=0
cpl=0
di1=1
di2=$((1024*1000))
di3=1024
max=0
statusbar=38
tot=0
ty1="Mb"
ty2="Mb"
ty3="Mb"
ty4="Mb"
ty5="Mb"

# Compruebo si estamos en un servidor con cPanel instalado, ya hay ligeras variaciones en el formato de "TOP"
# Aquí vemos una sentencia condicional, siempre empieza por if, hay que observar que despúes del corchete "[" siempre hay que dejar un espacio. Igualmente, hay que dejar un espacio antes del corchete de cierre.
if [ -d /usr/local/cpanel ]; then
cpl=1
di1=100
fi
# Cerramos la sentencia con "fi"
# Comprobar si la memoria encontrada en top contiene el caracter "m" para saber que si los resultados se presentan en Mb o Kb
mck=`top -b -c -n 1|grep -E "apache|httpd"|awk '{print$6}'|grep -c m`
if [ $mck -ne 0 ]; then
di1=1
fi
# Cargamos en la variable fre la memoria disponible
fre=`grep -E "^MemFree:" /proc/meminfo|awk '{print$2}'`
# Cargamos en la variable total la memoria instalada
total=`grep -E "^MemTotal:" /proc/meminfo|awk '{print$2}'`

# Cargamos en mem la memoria usada por Apache. La sacamos de la función top.
mem=`top -b -c -n 1|grep -E "apache|httpd"|grep -v grep | awk '{print$6}'|sed -e 's/[a-zA-Z]//g'`

# Bucle para mirar cada proceso y calcular ( por proceso )
# avg - media
# max - máxima memoria usada
# tot - total de memoria usada

for m2 in $mem
do
# Comprobamos si la memoria es un valor entero o un valor real. Aquí usamos una expresión regular en la condicional.
if [[ $m2 =~ ^[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
#IFS es el valor interno de Bash para el separador de variables internas
OIFS=IFS
IFS='.'
m2=($m2)
IFS=$OIFS
# La parte real del número la guardo en m1
m1=${m2[1]}
# La parte entera la guardo en m2
m2=${m2[0]}
# Miramos el número de caracteres que hay en la parte real. Para hacer las conversiones
m3=${#m1}
m4=10
if [ $m3 -eq 2 ]; then m4=100; fi
if [ $m3 -eq 3 ]; then m4=1000; fi
# Convertimos a decimal
m3=$(((m1*1024)/m4))
# Calculamos tamaño del decimal
m2=$(((m2*1024)+m3))
fi
# Fin de la comprobación de números reales
m=$((m2/di1))
# Cargamos en max el proceso que más memoria ocupa
if [ $m -gt $max ]; then
max=$m
fi
# Incrementamos contador y total
cnt=$((cnt+1))
tot=$((tot+m))
avg=$((tot/cnt))
done
# Fin del bucle
mxu=$((tot*1024))

# Comprobamos la media y evitamos la división por cero
if [ $avg -eq 0 ]; then
avg=1
fi

# Obtenemos el número total de los procesos de apache
# escuchando o conectado
cnt=`lsof -i :80|grep -iE "esta|ist|esc"|wc -l`

# Calculamos los procesos disponibles de la máquina
ava=$(((fre/avg)/100))
wst=$(((fre/max)/100))
# Aquí usamos BC. Necesitamos un número real y bash no permite operaciones con estos de forma interna
pct=`echo "scale=2;($fre/$total)*100"|bc`
out=`echo "scale=2;($pct/100)*$statusbar"|bc|awk -F\. '{print$1}'`

# Ajustamos para cPanel si es necesario
if [ $cpl ] && [ "$out" == '' ]; then
out=0
fi

# Calculamos el uso de la memoria y convertimos a Gb si es necesario
if [ $fre -ge $di2 ]; then
ty1="Gb"
fre=`echo "scale=2;$fre/$di2"|bc`
else
if [ $fre -ge $di3 ]; then
fre=`echo "scale=2;$fre/$di3"|bc`
fi
fi
if [ $mxu -ge $di2 ]; then
ty2="Gb"
mxu=`echo "scale=2;$mxu/$di2"|bc`
else
if [ $mxu -ge $di3 ]; then
mxu=`echo "scale=2;$mxu/$di3"|bc`
fi
fi
if [ $total -ge $di2 ]; then
ty3="Gb"
total=`echo "scale=2;$total/$di2"|bc`
fi
if [ $avg -ge $di2 ]; then
ty4="Gb"
avg=`echo "scale=2;$avg/$di2"|bc`
fi
if [ $max -ge $di2 ]; then
ty5="Gb"
max=`echo "scale=2;$max/$di2"|bc`
fi

# Bucle para mostrar una barra de estado
sloop=$statusbar
statusbar=$((statusbar+3))
nline=`seq -s "=" $statusbar|sed 's/[0-9]//g'`

# Mostramos resultados
printf "%s\n" $nline
printf "Apache processes and memory usage.\n"
printf "%s\n" $nline
printf "Total installed memory: %s%s\n" $total $ty3
printf "Availiable memory: %s%s\n" $fre $ty1
printf "Free percentile: %s\45\n" $pct

# Mostramos la memoria usada en la barra de estado. Observamos que en el bucle while, los corchetes llevan sus espacios después y antes, como en el if que hemos descrito antes.
printf "Status bar:\n|"
while [ $sloop -ge 1 ]; do
cc="-"
if [ $sloop -ge $out ]; then
cc="+"
fi
printf "%s" $cc
sloop=$((sloop-1))
done
printf "|\n"

printf "%s\n" $nline
printf "Current usage\n"
printf "%s\n" $nline
printf "Current processes: %d\n" $cnt
printf "Average memory:\t %s%s\n" $avg $ty4
printf "Maximum memory:\t %s%s\n" $max $ty5
printf "Overall memory:\t %s%s\n" $mxu $ty2
printf "%s\n" $nline
printf "Projected usage\n"
printf "%s\n" $nline
printf "Concurrent best: %d more connection(s)\n" $ava
printf "Concurrent worst: %d more connection(s)\n" $wst
printf "%s\n" $nline
}
# Fin de la función
# Ejecutamos la función
doStat

artícles
15

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES