Archivo etiqueta gentoo
LogWatch – análisis y reportes del sistema.
Por admin - Administración, Linux - Lunes, 10 agosto 2009
LogWatch realiza un análisis y reporte de los LOGS del sistema que suelen estar localizados en /var/log/ y se suele ejecutar cada noche enviandonos un correo con los resultados obtenidos. Los registros que se llevan a cabo en un sistema Linux como Gentoo son manejados por el demonio syslogd-ng y su archivo de configuración suele estar localizado en /etc/syslog-ng/syslog-ng.conf.
LogWatch es bastante útil para saber que está haciendo tu servidor cada día sin tener que leerse decenas de LOGS ya que proporciona una bonito resumen de cada servicio del sistema, tales como los paquetes instalados, emails enviados por tu servidor, errores de autentificación, estadísticas de apache, espacio en disco, información sobre posibles ataques, etc …
# tan sencillo como hacer un emerge. emerge logwatch
logwatch se configura de forma automática para ser ejecutado todas las noches y se crea dicha tarea en:
/etc/cron.daily/00-logwatch
El fichero de configuración le podemos localizar en:
/usr/share/logwatch/default.conf/logwatch.conf
El mail por defecto es enviado al usuario root y para que sea más accesible su lectura podemos redireccionarlo a un correo externo creando un alias en /var/qmail/alias/.qmail-root
/usr/share/logwatch/default.conf/logfiles
Contiene información sobre los registros de logs y sus características.
/usr/share/logwatch/default.conf/services
Contiene los ficheros de configuración específicos por cada servicio.
En Gentoo tendremos un problema con la configuración que viene por defecto ya que algunos servicios estarán fallando al crear dicho reporte. Para ello nos crearemos un fichero llamado /etc/logwatch/conf/override.conf para personalizarlo a nuestro gusto. Si una configuración esta definida en este ficheroo ignorará la que esté definida en el fichero de configuración inicial.
El ejecutable o script del programa esta localizado en:
/usr/sbin/logwatch.pl
En la página del programa podemos encontrar documentación detallada para crearnos nuestros propios ficheros de configuraciones.
Podemos testear el funcionamiento de Logwatch indicándole un servicio determinado:
/usr/sbin/logwatch --service qmail --print --range today --debug 10
Página Web Oficial:
http://www2.logwatch.org:8080/
multilog: fatal: unable to lock directory … temporary failure
Por admin - Administración, Linux, Qmail - Viernes, 19 junio 2009
Un error típico de Qmail al iniciarlo o reiniciarlo:
multilog: fatal: unable to lock directory /var/log/qmail/: temporary failure
multilog: fatal: unable to lock directory /var/log/qmailsmtp/: temporary failure
Una solución sencilla para solucionarlo:
# paramos el servicio. /etc/init.d/qmail stop # buscamos el proceso que está bloqueado. ps -ef |grep qmail # matamos el proceso relacionado. kill -9 numero-proceso # volvemos a iniciar el servicio. /etc/init.d/qmail start
Shell Script para hacer copias de seguridad de nuestras bases de datos con ncftpput.
Por admin - Administración, Linux, MySQL - Lunes, 15 junio 2009
Pues ya estoy aquí de nuevo para escribir un shell script que realiza una copia de seguridad de nuestras Bases de Datos y mediante ncftpput las enviamos a nuestro servidor FTP.
# DATOS
SERVIDOR=GENTOO-VPS
FECHA=$(date +"%m-%d-%Y") # mm-dd-yyyy
EMAIL=su@email
ASUNTO="Backup SQL"
TMP=/home/backup/tmp
# DATOS BD
BD_USUARIO=root
BD_CLAVE=*******
# DATOS FTP
NCFTP="/usr/bin/ncftpput"
FTP=ftp.dominio.com
FTP_USUARIO=user
FTP_CLAVE=******
FTP_DESTINO="./servidores/$SERVIDOR/MySQL/"
for BD in `mysql -u$BD_USUARIO -p$BD_CLAVE -e "show databases" -B -N`
do
mysqldump -u$BD_USUARIO -p$BD_CLAVE $BD > $TMP/$BD-$FECHA.sql
$NCFTP -m -u $FTP_USUARIO -p $FTP_CLAVE $FTP $FTP_DESTINO/$BD/ $TMP/$BD-$FECHA.sql
rm -f $TMP/$BD-$FECHA.sql
done
mail -s "$ASUNTO - $FECHA - $SERVIDOR" $EMAIL
Para optimizar la tarea podemos incluirla en nuestro crontab e incluimos la siguiente linea con la programación de la tarea y donde está ubicado nuestro script. Se ejecutará a las 2 de la madrugada todos los días:
crontab -e 0 2 * * * /home/backup/backup-bd-diaria.sh
Monitorizando nuestras cuentas de correo y envio de alertas a nuestro email.
Por admin - Administración, Linux, Qmail - Martes, 9 junio 2009
He creado este pequeño shell script que nos permitirá monitorizar todas las cuentas de correo de nuestros dominios. Para ello solo debemos indicarle unos pequeños parámetros y los límites en los que deseamos que nos envíe un reporte con una alerta.
# DATOS
FECHA=$(date +"%m-%d-%Y")
SERVIDOR=$(/usr/bin/hostname)
MAIL=/home/vpopmail/domains
REPORTE=/home/reporte.txt
EMAIL=su@correo.com
USUARIO=vpopmail # usuario de las cuentas de correo
ALERTA_DOMINIO=100 # espacio en mb
ALERTA_CUENTA=50 # espacio en mb
echo "Fecha: $FECHA" >>$REPORTE
echo "Limite dominio: $ALERTA_DOMINIO mb" >>$REPORTE
echo "Limite cuenta correo: $ALERTA_CUENTA mb" >>$REPORTE
echo "----------------------------------------------------" >>$REPORTE
for DOMINIO in `ls -l $MAIL | grep $USUARIO | awk {'print $9'}`
do
USO_DOMINIO=`du -sm $MAIL/$DOMINIO | awk {'print $1'}`
TOTAL=$[TOTAL+=$USO_DOMINIO]
if [ $USO_DOMINIO -ge $ALERTA_DOMINIO ]; then
echo "* $DOMINIO $USO_DOMINIO mb" >>$REPORTE
fi
for CUENTA in `ls -l $MAIL/$DOMINIO | awk {'print $9'}`
do
USO_CUENTA=`du -sm $MAIL/$DOMINIO/$CUENTA | awk {'print $1'}`
if [ $USO_CUENTA -ge $ALERTA_CUENTA ]; then
echo "$CUENTA@$DOMINIO $USO_CUENTA mb" >>$REPORTE
fi
done
done
echo "---------------------------------------------------" >>$REPORTE
echo "Total Ocupado: $TOTAL mb" >>$REPORTE
mail -s "Alerta Mail - $SERVIDOR - $FECHA" $EMAIL <$REPORTE
rm -f $REPORTE
* Este shell script ha sido probado en Gentoo y Fedora.
Por último solo debemos incluirlo en nuestro crontab para que se ejecute diariamente. En Gentoo es relativamente sencillo por lo que le podemos indicar que lo ejecute diariamente.
crontab -e # incluimos la siguiente linea en nuestro contab. @daily /home/scripts/monitor-correo.sh # por último le damos permisos de ejecución. chmod 744 /home/scripts/monitor-correo.sh
Gestionar la cola de correo de Qmail con qmHandle
qmHandle es un programa escrito en Perl que nos permitirá ver y gestionar las colas de QMAIL. Muestra estadísticas, imprime y borra mensajes, etc …
wget http://optusnet.dl.sourceforge.net/sourceforge/qmhandle/qmhandle-1.3.0.tar.gz tar -xzvf qmhandle-1.3.0.tar.gz cd qmhandle-1.3.0 cp qmHandle /usr/bin/
Por defecto viene configurado para ser utilizado con daemontools por lo que he tenido que editar el script y descomentar las siguientes lineas para que pare y reinicie Qmail correctamente.
my ($stopqmail) = '/etc/init.d/qmail stop'; my ($startqmail) = '/etc/init.d/qmail start';