bodegablockdeubuntu

 #!/bin/sh
# Backup base de datos MySQL Amarok

######### CAMBIAR CONFIGURACIÓN AQUÍ #########
# Ubicación de los backup de la base de datos de Amarok:
BACKUP_BASE_DIR=~/backup

# Nombre de la base de datos MySQL:
AMAROKDB_NAME=amarok

# Username y password para la base de datos MySQL de Amarok:
AMAROKDB_USER=USUARIO
AMAROKDB_PW=PASSWORD

# Ubicación de amarokrc:
AMAROKRC=~/.kde/share/config/amarokrc

# Ubicación de las listas dinámicas:
AMAROK_DYNAMIC_LIST=~/.kde/share/apps/amarok/dynamicbrowser_save.xml

# Ubicación de las listas inteligentes:
AMAROK_SMARTPLAY_LIST=~/.kde/share/apps/amarok/smartplaylistbrowser_save.xml

# Ubicación de las carátulas de los discos:
AMAROK_COVERS=~/.kde/share/apps/amarok/albumcovers

# Ubicación de las listas estáticas (m3u):
AMAROK_PLAYLIST=~/.kde/share/apps/amarok/playlists

# Ubicación de los navegadores de contexto (themes):
AMAROK_THEMES=~/.kde/share/apps/amarok/themes

######### FIN DE LAS CONFIGURACIONES #########

BACKUP_SUBDIRECTORY=`date +%d-%m-%Y`

if [ ! -w $BACKUP_BASE_DIR -o ! -d $BACKUP_BASE_DIR ]
then
printf %b "\n\n $BACKUP_BASE_DIR no existe o no es escribible!\n\n"
printf %b "STOP.\n\n"
exit 1;
fi

if [ ! -r $AMAROKRC ]
then
printf %b "\n\n $AMAROKRC no existe o Amarok no está instalado!\n\n"
printf %b "STOP.\n\n"
exit 1;
fi

mkdir -p $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Usa un archivo temporal con el fin de no sobreescribir una copia existente cuando el script es invocado
# manualmente una segunda vez (EJ: justo antes de la restauración de un backup creado en la misma fecha).
#
# Asegura la eliminación de la base de datos existente en el momento de la restauración del backup mediante
# la opción --add-drop-database.
#
mysqldump --add-drop-database -u $AMAROKDB_USER -p$AMAROKDB_PW $AMAROKDB_NAME -c -e --hex-blob > /tmp/amarok.mysql

tar --remove-files -C /tmp -cvvjf /tmp/amarok.mysql.tar.bz2 amarok.mysql

mv -i -v /tmp/amarok.mysql.tar.bz2 $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Guarda una copía del archivo amarokrc:
cp -i -v -p $AMAROKRC $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Guarda una copía de las listas dinámicas:
cp -i -v -p $AMAROK_DYNAMIC_LIST $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Guarda una copía de las listas inteligentes:
cp -i -v -p $AMAROK_SMARTPLAY_LIST $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Copia las carátulas de los discos:
cp -r -p $AMAROK_COVERS $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Copia las listas estáticas (m3u):
cp -r -p $AMAROK_PLAYLIST $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY

# Copia los navegadores de contexto (themes):
cp -r -p $AMAROK_THEMES $BACKUP_BASE_DIR/amarok/$BACKUP_SUBDIRECTORY