Skip to content

Instantly share code, notes, and snippets.

@altmas5
Created March 5, 2013 16:47
Show Gist options
  • Select an option

  • Save altmas5/5091718 to your computer and use it in GitHub Desktop.

Select an option

Save altmas5/5091718 to your computer and use it in GitHub Desktop.
dump/backup all mysql local databases
#!/bin/bash
# Ruta en la que se guarda el log de la operacion de backup.
logfile="/var/backup/mysql/backUp.log"
# Ruta en la que guardar los backups
backup_dir="/var/backup/mysql"
# Usuario
username="root"
password="acaElPass"
# Creamos un nuevo log del proceso de backup
#rm -rf $logfile
#touch $logfile
# Mediante esta instruccion, generamos un nombre de fichero con el dia y la hora del proceso de backup.
timeslot=$(date +"%Y%m%d_%H-%M")
cd $backup_dir
mysql -u root --password=$password -Bse 'show databases' > Bases;
DBs=$(cat Bases| grep -v information_schema| grep -v performance_schema);
echo "**********************$(date)*************************" >> $logfile
# Iteramos a traves de la lista de bases de datos a las que el usuario tiene acceso.
for db in $DBs
do
mysqldump --routines -u $username --password=$password $db > $db-$timeslot.sql
timeslot=$(date +"%Y%m%d_%H-%M")
echo "Backup completo de la base de datos: $db ($db-$timeslot.sql)" >> $logfile
done;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment