«Andante con moto». Rapidillo, ma non troppo…

Un blog acerca de cualquier cosa excepto música clásica.

Historial para la etiqueta ‘open source’

Copia de seguridad de bases de datos MySQL

without comments

Para realizar una copia de seguridad de mis bases de datos MySQL solía hacer un «mysqldump» de todo lo que había en el servidor y comprimirlo en un «tar.gz». Esto me funcionó muy bien mientras tenía pocas bases de datos y las usaba todas con cierta frecuencia. Ahora tengo otras necesidades, ya que muchos de los proyectos asociados a esas bases de datos ya no están activos, los he transferido o, simplemente han muerto.

Para que me fuera más fácil poder restaurar solamente una base de datos, decidí modificar mi antiguo script para que volcara cada una de las bases de datos en un archivo distinto. Un par de horas después surgió esto:

#!/bin/bash
# Back up all databases of a server putting each db in a different file
 
# Backup destination directory
BACKUP_DIR="$HOME/backup/"
# Name of the backup file
BACKUP_FILENAME="mysqlbackup"
# Use the date for the filenames
BACKUP_DATE=`date +"%Y%m%d_%H%M%S"`
# Name of the archive file
BACKUP_ARCHIVE=${BACKUP_DIR}${BACKUP_FILENAME}_${BACKUP_DATE}.tgz
TEMP_DIR="/tmp/"
 
# Check if the temporary directory exists, if not, create it
if [ -d ${TEMP_DIR}${BACKUP_FILENAME}/ ]; then
	# directory exists
	echo "Cleaning ${TEMP_DIR} ..."
	rm -rf ${TEMP_DIR}${BACKUP_FILENAME}/*
else
	echo "Creating ${TEMP_DIR} ..."
	mkdir ${TEMP_DIR}${BACKUP_FILENAME}/
fi
 
# Get all database names
DATABASES=`mysqlshow -u root -pmysqlpassword | sed 's/[ +-|]\+//g' | sed '/\-/d' | sed 's/^Databases//g' | sed '/^$/d'`
 
# Dump each db in a different file in the temp dir
for db in $DATABASES; do
	echo item: $db
	mysqldump -v -u root -pmysqlpassword -h localhost --create-options --extended-insert --databases $db > ${TEMP_DIR}${BACKUP_FILENAME}/${BACKUP_DATE}_${db}.sql
done
 
# Create the archive file in the backup dir
pushd ${TEMP_DIR}
tar cfz ${BACKUP_ARCHIVE} ${BACKUP_FILENAME}/${BACKUP_DATE}_*
popd
 
# Remove temp files
echo "Cleaning ${TEMP_DIR} ..."
rm -rf ${TEMP_DIR}${BACKUP_FILENAME}/*
 
# Pretty output
echo "###############################################################################"
echo "   Archive file: ${BACKUP_ARCHIVE}"
echo "   Archive size: "`stat -c%s ${BACKUP_ARCHIVE}`" bytes"
echo "###############################################################################"
echo "End"
echo ""

Creo se explica solo.

Los más vagos lo podéis descargar aquí: mysqlbackup.sh.txt.

No olvidéis darle permisos de ejecución («chmod +x nombre_de_archivo»), cambiar el nombre de usuario y la contraseña en los comandos «mysqlshow» y «mysqldump» y quitarle la extensión «.txt», aunque esto último es opcional.

Escrito por Lucas Vieites

Diciembre 23rd, 2009 at 1:01 pm

España a la cabeza en actividad open-source

without comments

Acabo de leer en «Ars Technica» que, según un estudio que ha examinado la actividad dentro del software libre de 75 países, España ocupa el segundo lugar en el ránking de 75 países. En el artículo original,  publicado por «Red Hat» en su «Open Source Activity Map», podemos ver un mapa en el que se califican los países por colores según su actividad aparente dentro del campo del software libre («open source»). En esta misma página podemos

Explorar los puntos calientes del código abierto de todo el mundo a través del Índice de Código Abierto («Open Source Index», OSI), basado en la investigación del Instituto de Tecnología de Georgia (Georgia Tech). El OSI es una medida de actividad y ambiente «open source» en 75 países. Cada país recibe una puntuación basada en sus políticas, prácticas y otros datos en los campos del Gobierno, Industria y Comunidad.

Entre los otros países que encabezan la lista están Francia (1er lugar), Alemania (3º), Australia (4º) y Finlandia (5º).

Como gallego desconfiado que soy, lo que me llama la atención es que España, que tradicionalmente es un país cuya actitud se resume en la frase «que piensen ellos», en este caso encabeza un movimiento realmente altruista. Digo esto porque, recordemos, el estudio mide la actividad, no el uso del software libre. Si fuera este último el caso no estaría muy equivocado al pensar que los españoles usamos el software libre simplemente por la otra acepción de «free» en inglés, es decir, por su gratuidad.

Me sorprende gratamente y nos felicito por este logro.

Escrito por Lucas Vieites

Abril 30th, 2009 at 3:59 pm