Drupal: Copias de seguridad al final de dia
Cuando desarrollamos en Drupal y somos parte de un equipo es conocida la importancia de mantener un versionado de nuestro proyecto para poder atender a resolución de conflictos entre responsabilidades y mas importante aún el poder acceder a copias anteriores en caso de desastres.
Tambien es conocido el problema al determinar como versionar nuestra base de datos de forma automática tambien, bueno, he encontrado una forma muy práctica de realizarlo al final de cada dia y sin tener que estar pendientes de ello, en drupalr.co.uk han escrito un script muy útil para esta tarea.
¿Y que es lo que hace?
RTA:
- Limpia la cache de Drupal
- Elimina las copias anteriores de la base de datos
- Realiza un volcado de la actual y la comprime en bzip2s en un lugar predeterminado de nuestro workspace
- Realiza un commit de la nueva copia
- Actualiza la aplicación (Para incluir cualquier otro cambio hecho por los demas miembros del equipo y evitar conflictos)
- Hace commit
El código es el siguiente:
#####################################
if [ $1 = "--help" ];
then
echo "
#########
# USAGE #
#########
Syntax for running this script is:
./end_of_day.sh projectdir databasehost databasename
projectdir - string, project directory in Eclipse workspace
databasehost - string, hostname or IP for database server (usually localhost)
databasename - string, name of database
." &
else
# TODO: we should really use drush to mark certain tables as excluded
echo "Clearing the Drupal cache to make the db dump smaller ..."
cd ~/workspace/$1/trunk/www
drush cache clear
echo "Updating application db directory at ~/workspace/$1/trunk/db ..."
svn up ~/workspace/$1/trunk/db
echo "Deleting old db dump from repository ..."
svn delete ~/workspace/$1/trunk/db/$1.sql.bz2
svn commit ~/workspace/$1/trunk/db/ -m "AUTO: deleting old database dump"
echo "Creating new db dump of $3 from $2 ..."
if [ $2 = 'localhost' ];
then
mysqldump -u root $3 | bzip2 > ~/workspace/$1/trunk/db/$1.sql.bz2
else
mysqldump -u root -h $2 $3 | bzip2 > ~/workspace/$1/trunk/db/$1.sql.bz2
fi
echo "Adding new db dump to repository ..."
svn add ~/workspace/$1/trunk/db/$1.sql.bz2
svn commit ~/workspace/$1/trunk/db/ -m "AUTO: adding new database dump"
echo "Updating application www directory at ~/workspace/$1/trunk/www ..."
svn up ~/workspace/$1/trunk/www
echo "Committing any added code changes to repository ..."
svn commit ~/workspace/$1/trunk/www/ -m "AUTO: committing code changes at end of day"
echo "Done!"
fi
####################################
Para ampliar la información pueden visitar: http://www.drupaler.co.uk/blog/wrapping-linux-script-end-day/478


Enviar un comentario nuevo