viernes, septiembre 30, 2005

Python, tal como lo vio en tv

Python es un lenguaje de programación que combina sencillez y potencia. Es un lenguaje de alto nivel , verdaderamente orientado a objeto.

Actualmente Python se utiliza para aplicaciones locales, aplicaciones web y para scripting.

Nosotros lo utilizamos para aplicaciones web apoyadas en base de datos principalemente. Es impresionante la velocidad de ejecución del codigo en python en el Web, pues a pesar de que es un lenguaje interpretado cuando se combina con Apache y mod-python los módulos son precompilados en seudo-código lo que aúmenta la velocidad de ejecución.

Por qué Python? por qué no PHP? esa pregunta me la hice cuanto tuve que aprender uno u otro y escogí lo mejor, prueba de ello es la cantidad de aplicaciones que usan, se refieren o son Python en Debian.

Algún día PHP será como Python... pero por ahora es una especie de "merjunge".






sábado, septiembre 24, 2005

rsync, ssh, cron: mantener la sincronización entre equipos

Una preocupación constante es perder la información almacenada en las computadoras (codigo, documentos, etc) por diversos motivos: daños de los equipos, robos, vandalismo no intencionado (conocido como estupidez propia o ajena). Cualquier cosa puede pasar y seguro que pasará cuando no tenemos respaldo o si lo tenemos está lo suficientemente desactualizado para ser de utilidad.

En Linux (muy probable en windows) la solución perfecta se optiene combinando SSH, RSYNC y CRON.

[En windows se puede usar una versión cygwin de rsync que funciona muy bien]

Lo primero será instalar estas tres piezas de software,

en Debian, la parte fácil:

apt-get install ssh cron rsync

Para evitar que los extremos se pregunten por password debemos compartir la llave pública entre el equipo de destino y el equipo de origen.

  • Generar la llave pública y privada en cada equipo ejecutando con el usuario adecuado: ssh-keygen -t rsa (pide un password, dejarlo en blanco)
  • En el equipo que va a ejecutar el script copiar la llave pública del otro:
    cd .ssh
    ssh-copy-id -i id_rsa.pub usuario@el_otro_equipo
Por lo general como quiero tener la posiblidad de ejecutar el script desde cualquier equipo intercambio llaves entre uno y otro.

Una vez se puede comprobar que se puede establecer una conexión ssh con el otro equipo:
ssh usuario@el_otro_equipo, sin necesidad de claves sabemos que todo está funcionando bien hasta aquí.

Lo demás es la parte fácil, decidir que vamos a sincronizar o respaldar :

#!/bin/bash
echo "sincronizando equipos"
rsync -ar -e ssh --delete usuario@el_otro_equipo:/usr/local/lib/site-python/ /usr/local/lib/site-python/

rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usurio/sistemas/ /home/usuario/sistemas/

rsync -ar -e ssh --delete usuario@el_otro_equipo:/home/usuario/AAA_TRABAJO/ /home/usuario/AAA_TRABAJO
/

Al final podemos automatizar la sincronización haciendo uso del CRON.

En Debian como en toda distribución de Linux encontramos el directorio /etc/cron.daily y otros más similares. Podemos copiar nuestro script en este directorio o hacer un link simbolico al mismo.

rsync solo transmite aquellos archivos que hayan cambiado.


miércoles, septiembre 21, 2005

Los virus y Linux

Desde hace cierto tiempo buscar en google las palabras virus y Linux produce un conjunto de salidas que nos llevan a casi todos los vendedores de antivirus.


http://www.google.com/search?hl=en&q=virus+linux&btnG=Google+Search


Cual es el objetivo de estos vendedores de antivirus si todos los que hemos usado Linux durante años sabemos que no existen virus para Linux, con la excepción de los supuestos virus publicados por los creadores de antivirus?

La respuesta es simple, quieren llevar al usuario a una simple conclusión: si voy a tener el mismo problema en Linux para que cambiar de sistema operativo. Justamente lo que desean los vendedores de antivirus, hacer que el usuario se mantenga en la posición donde vender "anti-virus" produce el billete para tales compañias.

Pero no sólo se aprestan estas compañías a disminuir ante el posible usuario la confianza en Linux, sino que lo hacen también con aplicaciones que corren en windows como el navegador firefox que es una barrera para todos los gusanos, spyware, etc que llenan la internet.