Category Archives: sysadmin

¿Cómo saber que programa esta usando algun puerto determinado?

A cualquier sysadmin le ha tenido la necesidad de saber que programa esta utilizando algún puerto específico en linux. Una solución a este problema es el uso del comando lsof su uso es sencillo.


stefano@bender:~$ sudo lsof -i TCP:7070
COMMAND  PID     USER   FD   TYPE DEVICE SIZE NODE NAME
java    6000 openfire   64u  IPv6  20495       TCP *:7070 (LISTEN)

Como podrán ver nos informa que comando ejecutado es java y el usuario es openfire, con esta información ya podemos estar mas tranquilos.

Mi propio logrotate

Tengo la siguiente estructura para almacenar los logs de los sitios que tiene el servidor sitio.tld/subdomino-<access|error>.log, necesitaba que cada uno los sitios tuviera su propio registro de estadisticas utilizando awstats, el problema es que no super como hacer que cada vez que se ejecutara el rotatelog se actualizaran todas las estadisticas para cada uno de los dominios. Por lo que decidí hacer mi pripio logrotate utilizando bash y cron, el script es el siguiente:


#! /bin/bash

/usr/lib/cgi-bin/awstats.pl -config=awstats -update

for i in $(ls /var/log/apache2/); do

cd /var/log/apache2/

if [ -d $i ]; then

#ejecutar awstats
cd /etc/awstats/
config=awstats.$i.conf
if [ -f $config ];then
/usr/lib/cgi-bin/awstats.pl -config=$i -update
fi

#ejecutar el rotate
cd /var/log/apache2/$i
for j in $(ls *.log); do
savelog -m777 -q $j

#reiniciar apache2
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
done
else
#archivos sueltos
savelog -m777 -q $i
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
fi

done

luego con un cron corro el script cada X dias

El funcionamiento es el siguiente. Reviso el directorio /var/www buscando los directorios que existen ahi (recordemos que un directorio es un sitio.tld) luego compruebo que exista el archivo de configuracion para ese dominio, de ser así ejecuto el awstats y luego realizo el savelog y reinicio el apache para que cree el nuevo log.

Soy un n00b en bash, se que el script se puede optimizar, espero sus mejoras :)

SysAdmin day

sysadmindayHoy 27 de Julio se celebra el dia del administrador de sistemas o mejor dicho el sysadmin day, pero algunos se preguntaran ¿que hace o quien es el sysadmin?.

“What Does a System Administrator Do?

What is a system administrator? Well, look at the title. Administrator of systems. A system administrator takes care of systems.”

Como pueden leer el sysadmin se encarga de mantener funcionando el sistema informatico (servidores, terminales, etc), un saludo a todos aquellos que pasan horas intentando resolver los problemas para cada dia brindar un mejor servicio.

Un saludo a los sysadmin de google, que hariamos sin gmail.com o google.com

Ahora los dejo con una pequeña cancion.

[google -7193470719293309352 sysadmin day]

Y algunos links interesantes

http://www.sysadminday.com/

http://www.sysadminoftheyear.com/