jueves, 3 de septiembre de 2009

Backup Incremental con Rsync Simple y sencillo

En esta segunda parte voy a explicar cómo tengo espejado la información del servidor de archivos.
Los backup son dos, de los cuales uno (como expliqué en la primera parte) se comprime y divide en partes con DAR para volcarlos en dvds.
 
El primero esta archivado en una unidad NFS en un servidor remoto y el segundo esta en un disco local extra que se monta y desmonta  al solo efecto de guardar el backup.
 
La base de los backups que realizo en distintos servidores es una simple linea en el crontab:
 
fileserver:~# crontab -l
# m h  dom mon dow   command
20 20 * * 1-5 rsync -aru --inplace  /home/comercial/ /home/copia/comercial/
10 20 * * 1-5 /root/rbackup.sh
 
la unica diferencia en el script del segundo es que tiene que montar y desmontar la unida de disco local.
 
En caso de perdida de información, restaurarla es tan sencillo como copiar del destino al origen en forma parcial o total.
 
Hice algo más avanzado con este backup en base al ejemplo de copias incrementales disponible en el sitio de samba team.
 
Y en definitiva terminó siendo un backup más además del que ya tenia, pero el beneficio que le encontré es que se puede restaurar la información en forma casi instantanea.
 
 
y este es el script con el que lo hago:
 
#!/bin/sh
 
# This script does personal backups to a rsync backup server. You will end up
# with a 7 day rotating incremental backup. The incrementals will go
# into subdirectories named after the day of the week, and the current
# full backup goes into a directory called "current"
# tridge@linuxcare.com
 

# directory to backup
# BDIR=/home/academico
 
# directorio de copias incremental
BACKUPDIR=`date +%A`
 

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
 
# borrar la copia de 7 dias anterior
rmdir /academico/$BACKUPDIR
 
# now the actual transfer
rsync -aru --inplace --backup --backup-dir=/academico/`date +%A` /home/academico/ /academico/current
 
restaurar Backup
 
en este caso depende a que estado anterior de la información queremos volver.
 
si la perdida es total, copiamos todo el contenido de /academico/current al lugar de origen
Si queremos regresar a algun dia anterior copiamos el contenido del día elegido (lunes, martes, etc)
en el directorio de origen
 
 
 

jueves, 2 de julio de 2009

¿Qué Significa SPAM?

el origen del término se remonta a 1937 y no esta relacionado a la informática, Internet o email.



El nombre fue sugerido por Kenneth Daigneau, un actor de hermano del vicepresidente de la Hormel. La versión oficial es que es una abreviación de "SPiced hAM". (El Spam es una variedad de carne en lata elaborada por la empresa Hormel Foods Corporation)

Muchos de los más graciosos retroacrónimos han sido imaginados sin justificación tal y como: "Squirrel, oPossum, And Mouse" ("Ardilla, Zarigüeya, y Ratón"), "Spare-Parts-Already-Minced" ("Partes Sobrantes Previamente Picadas"), "Something Posing As Meat" ("Algo Haciéndose Pasar Por Carne"), y "Specially Processed Artificial Meat." ("Carne Artificial Especialmente Elaborada")

En un famoso sketch de 1970 de la serie de televisión Monty Python's Flying Circus los comediantes británicos representaban a una pareja que se sentaba a la mesa en un restaurante y se les ofrecía "huevo y panceta; huevo, salchichas y panceta; huevo y spam; huevo, panceta, salchichas y spam; spam, panceta, salchichas y spam; spam, huevo, spam, spam, panceta y spam; salchichas, spam, spam, panceta, spam, tomate y spam, ..." y no conseguían ningún plato que no contenga spam. Mientras, un grupo de ruidosos vikingos cantaban a coro cada vez más fuerte "Spam, spam, spam, spam. ¡Rico spam! ¡Maravilloso spam! Spam, spa-a-a-a-a-am, spa-a-a-a-a-a-am, spam. ¡Rico spam! ¡Rico spam! ¡Rico spam! ¡Rico spam! ¡Rico spam! Spam, spam, spam, spam". Como la canción, el spam es una repetición sin fin de texto de muy poco valor o ninguno, que aplicado a los mensajes electrónicos, se refiere hoy en día a los mensajes enviados de forma masiva y dirigidos a personas que, en principio, no desean recibirlos.

referidos a la informática se encuentran otros acrónimos tales como:


Short Pointless Annoying Messages
Stupid Pointless Annoying Messages
Sending People Annoying Mail
Sending Persistently Annoying Mail
Self Promotional Advertising Messages
Silly Pointless Annoying Message
Senseless Pointless Annoying Message
unSolicited Pornography And Marketing
Someone's Poor Advertising Method
Some Pestilent Asshole's Message

Fuente:

http://www.abbreviations.com/

http://es.wikipedia.org/




lunes, 8 de junio de 2009

Sistema de Backup - Concepto y solucion

El backup es una copia de la informacion sensible de un sistema informatico disponible en otro medio para proteccion de la misma.
En un servidor en produccion normalmente es parte de la planificacion inicial del mismo, por lo que a la hora de tener datos generados los mismos ya estan protegidos. Esta planificacion tiene varios aspectos a considerar siendo algunos de  ellos:
 
1- Programa o aplicacion con que se lleva adelante la tarea
2- Tratamiento que se le efectual a las copias
3- medios en los que se almacenan las copias
4- metodos de recuperacion de los datos
5- documentacion que explique el proceso 
 
En un servidor GNU/Linux se encuentran disponibles varias herramientas para generar copias de seguridad, cada una con mayor o menor complejidad en su funcionamiento.
-Tar, empaqueta directorios y archivos
-rsync, sistema de copia y sincronizacion de samba team
-rdiff-backup, para backups diferenciales e incrementales
-otras soluciones completas como Amanda o Bacula
 
Debe considerarse si los datos se van a comprimir, encriptar, dividir en tamaño de acuerdo al soporte donde se almacenaran, comprobacion de integridad de datos, etc.
 
Las copias pueden ser guardadas en Cds, DVDs, en discos remotos, etc. Datos replicados sin compresion ni empaquetado en discos locales para su pronta restauracion.
 
De acuerdo al volumen del backup en ocaciones puede resultar engorroso encontrar el archivo/s a restaurar, a la vez que en una situacion de daño total en el servidor es muy importante tener en cuenta el metodo de restauracion que posee nuestro sistema de backup
 
finalmente cuanto mejor documentado este nuestro sistema de backup, menos problematico terminara siendo su administracion
 
En mi caso particular tengo un servidor de bases de datos y otro de archivos. Para hacer la copia de seguridad me arme un simple script que vuelca las bases de datos a un temporal y lo comprime.
Se rota durante siete dias y empieza a eliminar el mas antiguo
Este backup se copia a una unidad nfs remota, se divide en partes para guardarlo en DVDs regrabables y al a vez tambien queda guardado en otra unidad de disco rigido en el mismo servidor.
Como el dump de la base se realiza todos los dias, un backup incremental no estaria funcionando dado el cambio de fecha y tamaño (o no) de los archivos. Entonces estoy probando si la opcion de backup diferencial funciona bien y solo detecta los agregado de las bases y actualiza esos archivos.
Esto lo realizo con DAR con el que tambien genero controles de integridad de archivos y es posible que mas adelante implemente la encriptacion de las copias.
Para el caso del servidor de archivos, tengo una unidad de disco en el servidor que solo se monta al efecto de sincronizar los datos con rsync y en caso de caidas, solo tengo que montar esa unidad en lugar de la que esta en produccion. Si el daño es total se recupera de la unidad remota por nfs o se recurre a las copias en DVD. Lo demas funciona como el anterior, con el DAR hago copias diarias con eliminacion de las antiguas en un periodo de 7 dias. Para mas adelante voy a implementar copias completas cada 30 dias pero por el momento solo tengo una copia completa inicial.
 
Las copias estan automatizadas con el Cron y periodicamente hago chequeos manuales de integridad de datos. Esto podria hacerlo en forma automatica tambien, pero he preferido dedicarle un tiempo en persona ya que al mismo tiempo que monto la unidad de disco local para backup para copiarlo a DVD le paso el chequeo CRC.
 
 
Scrip de backup de bases:
#!/bin/bash
# Realiza el respaldo de la base de datos en localhost
FECHA=`date -I -d today`
USER="-u user"
CLAVE="-pclave"
MYSQL_DATABASES="OpenBiblio biblioteca geeklog libros webbiblio2 webbiblio3"
# Comprueba que existe el temporal
! test -d /tmp/bases && mkdir --parent /tmp/bases
# dump de bases al temporal
for base in $MYSQL_DATABASES
{
   mysqldump --opt $USER $CLAVE $base > /tmp/bases/$base.sql
}
# genera el tarball en la unidad remota nfs
cd /tmp/bases
/bin/tar -zcvf /backup/databases.$FECHA.tgz *
# borra el temporal
rm -f  /tmp/bases/*
# borra el backup 7 dias mas viejo
rm -f /backup/databases.`date -d "$FECHA 7 day ago" +%Y-%m-%d`.tgz
# monta la unidad de backup local
mount /dev/sda4 /mnt/backup
dar -c /mnt/backup/databases -R /backup -A /mnt/backup/databases1/completo.dar
umount /mnt/backup
 
 
Este script este editado a partir de otros varios que he visto dando vueltas en internet y he tomado lo que necesitaba para cumplir con mis necesidades. He colocado solo algunas variables y no le incorpore avisos, ni exit codes ni logs, etc. que son los adicionales que finalmente me hicieron decidir por armar algo que haga solamente lo que necesito.
Hay conceptos que corregir lo que ire descubriendo con el uso, como por ejemplo de que manera se maneja los diferenciales, no comprimir el tarbal sino enviar los archivos planos al DAR, etc.
En una segunda oportunidad les traere la guia de como restaurar archivos, directorios, restaurar parcial o totalmente.
 

Sysadmin
Colegio San Esteban
Bariloche

viernes, 22 de mayo de 2009

KNOPPIX - Entorno de programacion Visual y Animacion 3D

Hace un par de dias mi hijo de 14 años me pidio que le instale un entorno de
programacion y de animacion.
Consulte en la lista de linux en la que participo y de varias opciones las
que me parecieron mejor para que se inicie como autodidacta fue Gambas y
Blender

Para no complicar las cosas de instalacion, baje el nuevo Knoppix 6.0.1en
español que esta basado en Debian/Lenny:
http://www.knoppix-es.org/?q=node/2186
lo instale con la opcion "KNOPPIX HD install" que trae el motor "Own - .Zero
Work Needed"

Desinstale el openoffice que no va a ser usado e hice una limpieza de
librerias y dependencias:
# apt-get remove --purge openoffice*
# deborphan | xargs apt-get -y remove -P
# apt get autoremove

Instale primero el programa de animacion 3D
#apt-get install blender

Esta muy bueno porque los accesos en el menu de LXde se crean
automagicamente asi que no hay que estar haciendolo manualmente.

Instalar Gambas es bastante complejo si se lo quiere compilar desde los
sources ya que hay que instalar previamente las dependencias. Eso esta bien
explicado en este blog:
http://cafeinalibre.blogspot.com/2009/03/howto-como-instalar-gambas-2111-en.html

Pero mas sencillo aun es instalar los paquetes disponibles para debian,
explicado en la pagina de gambas:
http://gambasdoc.org/help/doc/package?view&en

agregar al /etc/apt/sources.list

deb http://apt.linex.org/linex/gambas/stable/ ./

bajar la llave publica GPG:
#gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA551D966A90DE2

Instalar la llave:
#gpg --armor --export 9AA551D966A90DE2 | apt-key add -

Actualizar:
# apt-get update

Instalar Gambas:
#apt-get install gambas2

Y ya queda listo nuestro linux para programar en el GUI visual de gambas y
diseñar animaciones 3D con Blender


Héctor Jaskolowski
Sysadmin
Colegio San Esteban
Bariloche

martes, 14 de abril de 2009

Debian Lenny - Configurar servidor NTP

instalar el paquete ntpd
apt-get install ntp
 
editar /etc/ntp.conf
 
agregar los servidores:
server tock.nap.com.ar iburst dynamic
server tick.nap.com.ar iburst dynamic
server time.sinectis.com.ar iburst dynamic
 
comentar los servidores que se encuentran listados
 
descomentar y setear correctamente la red para el servidor
 
broadcast 192.168.0.255
 
reiniciar el servicio
/etc/init.d/ntp restart
 
chequear que la hora se haya ajustado
date
 
de ser necesario, corregir la zona horaria
dpkg-reconfigure tzdata
 
Chequear hora local y ajuste UTC/GMT
date -R
 
En cada cliente ejecutar
net time \\timeserver /set /yes
 
cambiando timeserver por el nombre del servidor configurado
 
Héctor Jaskolowski
Sysadmin
Colegio San Esteban
Bariloche

jueves, 20 de noviembre de 2008

FEDORA7 CENTOS5 Mini-guia para configurar Dovecot y Sendmail con SMTP AUTH

Servidor de Email
guía práctica para configurar  sendmail con SMTP AUTH y dovecot pop3/imap en Fedora Core 7 o CentOS 5
 
este ejercicio supone que esta instalado todo el software necesario, en cualquiera de las dos distros mencionadas.
un comando tan sencillo como este instalará lo que no este:
yum install -y sendmail sendmail-cf dovecot db4 db4-devel cyrus-sasl
 
1) CONFIGURAR SASL
editar /usr/lib/sasl2/Sendmail.conf
y agregar:
pwcheck_method: saslauthd
 
En estas distros es una configuración por default, por lo que simplemente hay que chequear que el archivo existe con ese contenido
 
editar /etc/sysconfig/saslauthd
cambiar MECH=pam
por MECH=shadow
 
configurar saslauthd para que inicie en el boot time:
chkconfig --level 2345 saslauthd on
 
iniciar el servicio:
/etc/init.d/saslauthd start
 
2) CONFIGURAR SENDMAIL
 
cambiarse al directorio /etc/mail
editar el archivo sendmail.mc
 
en este archivo una linea comentada comienza y termina con la sentencia "dnl" y una linea NO comentada comienza con una opción de sendmail y termina con la sentencia "dnl"
 
para que sendmail envie mails hacia internet hay que comentar la siguiente linea:
 
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
 
para que acepte envios desde afuera de la red local con el sistema de seguridad SMTP AUTH
descomentar las siguientes lineas:
 define(`confAUTH_OPTIONS', `A')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
 
descomentar y editar la siguiente linea con los datos del dominio propio:
MASQUERADE_AS(`mydomain.com')dnl
 
Editar el archivo access:
agregar el dominio para que acepte relay del mismo:
mydomain.com        RELAY
 
actualizar la configuracion de sendmail:
make
 
reiniciar el servicio sendmail:
/etc/init.d/sendmail restart
 
3) CONFIGURAR DOVECOT:
editar /etc/dovecot.conf
descomentar la linea:
protocols = imap imaps pop3 pop3s
 
reiniciar el servicio:
/etc/init.d/dovecot restart
 
4) CONFIGURAR CLIENTE DE MAIL:
 
Para que el cliente pueda enviar mails tanto estando dentro de la red local como fuera, hay que activar la opción:
"Mi servidor requiere Autenticación"
 
Esto ha sido todo amigos, espero que disfruten de vustro servido en cualquier lugar del mundo.
 
5) DOCUMENTACION CONSULTADA
 
de la variada cantidad de páginas consultadas en Internet se pueden destacar estas dos por su sencillez:
 
 

miércoles, 1 de octubre de 2008

<*embed src="http://bari123.multiply.com/video/item/2/interabariloche.swf" width='420' height='420' wmode='transparent' type='application/x-shockwave-flash'/*>