Xarx.es

Dèries. La meua llibreta d'anotacions.

Resumen De Comandos - UNIX TOOLBOX


Esta entrada solo tiene como fin hacerme eco del resumen de comandos Unix/Linux/BSD e incluso algunos Windows recopilada por Colin Barschel y que él llama UNIX ToolBox y que conocí vía Kriptopolis.
Es un gran resumen de comandos donde podeis encontrar ejemplos variados pasa distintos entornos.

Respaldos Y Sincronización

Hoy voy a escribir sobre dos herramientas que me parecen útiles para conservar la información. Se trata de SimpleBackup y Dsynchronize.

SimpleBackup

Se trata de un script en perl para hacer backups. Existen versiones para diferentes S.O. pero realmente lo que me atrajo de esta solución es que existe una versión compilada para Windows y tiene multiples posibilidades para transportar la copia a un servidor remoto.

En concreto yo lo he utilizado haciendo que el transporte funcione sobre ssh. Esto tiene la ventaja de que, una vez se ha configurado y transportado las claves, no necesitamos ninguna utilidad añadida en el extremo del servidor-almacen de copias. Aparte de las ventajas inherentes al ssh como la encriptación.

Como experiencia adicional comentar que casi bloqueaba el equipo windows del que hacía la copia de seguridad (temporizada con el programador de tareas). Para mejorar la experiencia del usuario mientras se hacía la copia, incluso a costa de alargar los tiempos las tareas se lanzan con el comando start y el parámetro /belownormal. En concreto:

    start "SimpleBackup Gestwin" /dC:\simplebackup /belownormal C:\simplebackup\simplebackup.exe --conf C:\simplebackup\splbkpwin.conf

De este modo la prioridad para esta tarea está por debajo del resto de las de usuario y el usuario no tiene la sensación de que el equipo está bloqueado mientras hace la copia de seguridad.

[web de SimpleBackup] [screenshots]

Dsynchronize

Se trata de una aplicación para sincronizar multiples carpetas. Las carpetas se sincronizan por pares (una de origen a una de destino).

La interfaz es algo densa pero dado que solo tiene una pantalla con todas las opciones es adecuada. Puede trabajar en ‘tiempo real’, es decir haciendo un seguimiento cada pocos segundos de las carpetas, o bajo demanda.

También puede lanzarse en segundo plano desde linea de comandos (una vez configurado) y sin que muestre la interfaz. Incluso tiene un programador incluido, compresión, apagar al finalizar, sincronización bidireccional y un montón de opciones más.

Mi modo de uso, como comentaba arriba, es en segundo plano. Una vez configurado utilizo el programador de tareas para lanzar repetidamente "Dsynchronize /START /HIDDEN" de modo que llegado el momento arranque automáticamente la sincronización y sin que se notifique al usuario pues no se muestra ni gui ni icono en barra de tareas.

Respaldo De Gmail Con Getmail


Pretendemos hacer una copia de seguridad de los correos de nuestra cuenta de gmail. Para ello utilizaremos la utilidad getmail configurada para almacenar los correos al estilo MailDir.

Dado que la utilidad está en los repositorios de ubuntu la instalaremos desde allí (sudo aptitude install getmail4).

Una vez instalada creamos las carpetas donde almacenaremos el correo:

1
$ mkdir ~/.getmail<br />$ mkdir -p ~/GmailBackup/new  ~/GmailBackup/tmp  ~/GmailBackup/cur

la carpeta .getmail es la que utiliza el programa por defecto para almacenar los archivos de configuración. Podemos crear el archivo para nuestra cuenta con cualquier editor. Por ejemplo:

1
nano ~/.getmail/getmailrc.mictagmail

Y dentro añadiremos algo como lo siguente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = micuenta@gmail.com
password = clavedemictagmail

[destination]
type = Maildir
path = ~/GmailBackup/

[options]
verbose = 2
received = false
delivered_to = false
message_log = ~/.getmail/backupgmail.log

eso si con los valores adecuados de username y password. Si en vez de maildir queremos que nuestros correos se almacenen en formato mbox deberíamos poner, por ejemplo,

1
2
3
[destination]
type = Mboxrd
path = ~/GmailBackup.mbox

Finalmente solo faltaría añadir una tarea al cron para que se ejecute repetidamente y sin nuestra atención:

1
2
# obtener copia local de la cuenta de gmail 
35 22 * * * /usr/bin/getmail -ln --rcfile getmailrc.mictagmail >> ~/respgmail.log

La opción -n indica obtener solo el correo nuevo. Además también se puede seguir el manual de getmail para recuperar más de una cuenta y para variar la carpeta en la que buscar los archivos de configuración.

Rsync a Través De SSH. Almacenado en FAT


La intención es respaldar una serie de carpetas en un equipo cliente a otro servidor. Realmente manteniendo una copia (mirror) de la original sin compresión, ni backups incrementales o diferenciales.

Las características de los sistemas hacen que usemos:

1. rsync en el cliente-origen de la información
2. la transferencia sea a través de ssh
3. el servidor-receptor de la información carece de demonio rsync
4. el sistema de archivos en el que se almacena la información es FAT

Realmente el cliente es el taperserver del que ya hemos hablado anteriormente y el servidor en el que se almacena la información es un NSLU2 de Linksys al que se le ha modificado el firmware hasta un Unslung V2.3R63-uNSLUng-6.8 (ver nslu2-linux para mas detalle). Ambos están conectados a internet con conexiones de banda ancha (o más bien estrecha) de diferentes proveedores y en lugares separados.

Para poner en marcha esta copia necesitamos que inicialmente en el equipo cliente esté instalado rsync, cron y openssh. Este último es necesario para crear las claves para que no haya que introducir las claves cada vez y podamos automatizar la copia usando cron. En el servidor bastará con openssh.
Lo primero que deberemos hacer es probar manualmente que se puede realizar la copia. En la mayor parte de los tutoriales recomiendan ejecutar desde el cliente:
1
$ rsync -avz -e ssh carpeta-del-contenido-a-copiar/ usuarioremoto@serverdestino:/carpeta-destino/
donde las opciones son a:archive(=-rlptgoD), v:verbose y z:comprimir. Si se usa la opción –dry-run podemos hacer una prueba con todo menos con la copia real por lo que es una buena opción a incluir inicialmente.

Tuneles SSH

Realmente no se trata solo de túneles sino de un manual en castellano hecho por HellGuest en vilecha.com: Utilizando SSH

Es realmente interesante tener un resumen reducido pero además aclara el uso de túneles con ssh-agent como puede verse en el capitudo dedicado a ello y que reproduzco…

Navegar Anónimamente…


Lo primero será instalar Tor y Privoxy para poder usar la red de Tor. El uso de privoxy está relacionado con las peticiones de dns. Para S.O. de Ms también habrá que considerar videlia. En el caso que nos ocupa trataremos con un equipo de escritorio con Ubuntu en él. Para otros sabores de gnu/linux habrá que buscar los paquetes o las fuentes adecuados.

Para proceder a la instalación podemos utilizar http://www.ubuntu-es.org/node/13996

Después deberemos considerar las extensiones adecuadas para firefox de modo que podamos mantener nuestro anonimato también con la información que suministramos.

  • NoScript, para controlar los scripts
  • Torbutton, para habilitar o deshabilitar Tor a nuestro gusto.
  • CookieSafe (o similar), para controlar las cookies y su almacenado.
  • RefControl, para controlar el envío de los Referers en el encabezado http
  • User Agent Switcher, para cambiar la identificación del navegador. Quizá no tenga demasiada utilidad pues según el orden de los parámetros de la cabecera http podría llegar a identificarse el navegador (ver artículo en net-security). Además cambiar la identificación puede llevarnos a problemas, por ejemplo con Gmail, que no acepta cualquiera :-( Aunque quizá pueda variarse el S.O.
  • Otras extensiones que pueden ser interesantes son QuickJava y FlashBlock para controlar los applets de Java y los Flash que ejecutamos.

Enlaces:

Mover Sitios Web Entre Servidores Con ISPConfig

Esta entrada es básicamente la traducción de la entrada del forum en Howtoforge.com donde falko lo explica…

Partimos de un servidor en "producción" y otro limpio (desde ispconfig.org se puede acceder a las guías de instalación).

1. Crear una copia de los archivos:

    /etc/passwd, /etc/shadow, /etc/group, 
    Vhosts_ispconfig.conf (situado /etc/apache2/vhosts para debian, ubuntu,...), 
    /etc/postfix/local-host-names, /etc/postfix/virtusertable, 
    named.conf y todos los archivos de zona pri.* (¿situados en /etc/bind9/?) y 
    los archivos /etc/proftpd/proftpd*.conf

2. Crear una copia de seguridad de las bases de datos. Se puede usar phpMyAdmin si está disponible o si no se puede usar mysqldump desde la consola:

1
mysqldump -h localhost -u usuario -pcontraseñadeeseusuario -c --add-drop-table --add-locks --all --quick --lock-tables --databases db1 db2 db3 > sqldump.sql

Donde debe observarse que entre -p y la contraseña no hay espacio (si no se pone nada la aplicación la pregunta), que el usuario debe tener suficientes permisos (lo normal es usar el usuario root de acceso al mysql), que si solo se quiere volcar una base de datos se puede quitar –databases y poner solo el nombre de la base de datos deseada.

3. crear una copia de la carpeta raíz del servidor web (ej /var/www para ubuntu) conservando los propietarios y los permisos. Para ello se usa la opción -p con tar:

1
cd /var; tar -pcjvf www.tar.bz2 www/

4. Si los buzones de correos están en formato mbox habría que parar postfixy copiar los buzones. Si se usa Maildir los buzones están incluidos en el www.tar.bz2.

5. En el servidor de destino recuperar las bases de datos desde los volcados del servidor original con phpMyAdmin o desde la consola:

1
mysql -h localhost -u usuario -pcontraseña nombredeladb < sqldump.sql

6. Revisar los usuarios y permisos para uso de mysql. Incluir los usuarios y permisos en el servidor de destino que hubiese en el de origen.

7. Copiar local-host-names y virtusertable a /etc/postfix. Abrir local-host-names y reemplazar el viejo hostname por el nuevo. Ejecutar:

1
postmap /etc/postfix/virtusertable
Reiniciar postfix (ej /etc/init.d/postfix restart desde ubuntu)

8. Reemplazar el Vhosts_ispconfig.conf del servidor destino por el que hemos obtenido del servidor de origen.

9. Transferir y descomprimir en el lugar adecuado (ej que quede en /var/www) www.tar.bz2 (en este caso no tengo claro si es necesario usar la opción -p con tar)

10. Si usasemos mailbox este sería el momento de descomprimirlo en su destino.

11. Alterar /etc/passwd, /etc/shadow y /etc/group comparando el del servidor de origen y el de destino. Añadir en el de destino los usuarios, grupos, etc adecuados (los que no existan en el destino y estén relacionados con los sitios a transportar)

12. Transferir la configuración de dns (named.conf y pri). Transferir la configuración de proftp (proftpd.conf). Revisar las configuraciones anteriores para cambiar la IP de la de origen a la de destino.

14. Reiniciar proftpd y apache:

1
2
/etc/init.d/proftpd restart
/etc/init.d/apache2 restart

15. Aunque Falko no lo dice creo que sería buena idea reiniciar también ispconfig

16. Entrar a la interfaz de administración de ispconfig en el servidor destino y cambiar la/s IP/s del servidor (de las del origen a las del destino). Ir a la gestión de DNS y revisar también las IPs de los registros dns por si fuera necesario cambiarlas.

17. Solo faltará que el correo se redirija desde el servidor origen al destino mientras se actualizan los valores en los registros MX. Para ello sobre el servidor original hacemos:

1
2
3
echo "* smtp:[<IP del servidor destino>]" >> /etc/postfix/transport
postmap /etc/postfix/transport
/etc/init.d/postfix restart

En el servidor destino faltará añadir la dirección del servidor de origen al final del /etc/postfix/local-host-names para que el servidor de destino acepte los correos que le envíe el de origen.

Con esto y un bizcocho la cosa debería funcionar

Actualizaciones y Comentarios previos

Comentario 1

Un par de comentarios respecto al proceso:

  1. El paso 17 lo hice a medias (no incluí la dirección del viejo en el nuevo). Espero no haber perdido correos debido a la hora que era y a que los dns cambiaran rapidito :-O

  2. Al problema de mover los sitios se me juntó que en una actualización reciente había cambiado la versión de php (un cambio menor). Esto hizo que eAccelerator se quejara y no arrancara php. Solución: Recompilar para la versión actual de php (Un consejo, hacer make test después del make install de eAccelerator, que si se hace sin el make install usa la versión previa y sigue quejándose)

Lista De Tareas TaskFreak


Os presento TaskFreak… Como podeis ver en el fragmento siguiente se trata de un gestor de tareas web.

Tiene tanto versión monousuario como multiusuario, es fácil de utilizar y está en español.

What is this?

TaskFreak! is a simple but efficient web based task manager written in PHP.

Main advantages & features:

  • GTD compliant
  • easy setup with MySQL or SQLite (PHP4 and PHP5 compatible)
  • simple and easy to use (outrageously user friendly)
  • order tasks by priority and deadline, organize by project and context
  • absolutely free & open source

Es sencillo de instalar. Basta con crear la BD, descomprimir en nuestro espacio web y cambiar la configuración de modo que se acceda a la BD creada. al entrar en /install/index.php nos da la opción de crear las tablas. A partir de ese momento ya podemos usarlo.
Yo ya lo estoy probando… Si tu también quieres probarlo lo encontrarás en TaskFreak.com

Nueva Versión De Datagrid

Ha sido publicada la versión 4.2.3 del Datagrid en la página del proyecto http://phpbuilder.blogspot.com

En el post del Mr. Leumas Naypoka se puede ver los cambios respecto de la versión previa (changelog)

En algún momento revisaré los diffs a ver si son aprovechables y publicaré las nuevas versiones. Almenos eso espero ;-)

No Es Un Miniservidor, Es Un Taper-Server

Tras ver que la fuente de alimentación que venía con la caja para lector de dvd externa no era suficiente había que improvisar.

Busqué otra caja, esta vez un taper de los chinos (menos de 3€), y junto con una vieja fuente AT y unos cuantos tornillos de M3, sus tuercas y arandelas ya tenemos un TAPER-SERVER. La verdad es que la mayor parte del espacio se lo lleva la placa de la fuente AT y el ventilador con lo que ha quedado bastante más grande de lo que yo pretendía pero no había remedio.

Para que os riais un rato os pongo unas fotos…

Como podeis ver no soy ningún fiera soldando ni recortando pero me parece suficiente. Es probable que haya que cambiar el ventilador por otro algo más silencioso y quizá haya que aumentar las entradas de aire. Al probarlo veremos cual es la temperatura que se alcanza en el interior.

Veis que hay 2 interruptores. La cuestión es que quería cortar las dos fases de alimentación y no tenía más que el interruptor de la fuente AT y estos.

Recordad que se basa en una placa de proporciones muy reducidas con un Via C3, 256 MB de Ram (SDRAMM 133 sodimm) y un disco 2.5’ de 60GB. Todos los periféricos que no se van a usar están desactivados.

En las pruebas que he hecho de momento el consumo es de unos 20W, aunque estos son valores con poca carga computacional.