Script para hacer respaldos de bases datos via SMB, indicando No. de dias a respaldar

0
58

Hola..

Este es otro script que uso para respaldar mis bases de datos Mysql en un servidor FreeNas via SMB, son bastante utiles si se ponen en un cron job y automaticamente hacer los respaldos por las noches….

#!/bin/bash
Backup_dir_temp=”/shellscripts/temp”
Work_dir=”/shellscripts/workdir”
Mount_dir=”//192.168.0.xxx/Backups/Web_Databases”
Backup_files=”*.sql”
Days=7
Day=$(date +%F)


#Respaldamos nuestrass bases de datos(cabia los datos tus datos)
cd $Backup_dir_temp
mysqldump -uroot -pPassword Database_1 > Database_1_$Day.sql
mysqldump -uroot -pPassword Database_2 > Database_2_$Day.sql
mysqldump -uroot -pPassword Database_3 > Database_3_$Day.sql
mysqldump -uroot -pPassword Database_4 > Database_4_$Day.sql
mysqldump -uroot -pPassword Database_5 > Database_5_$Day.sql

Archive_file=”Databases_Backup_$Day.zip”

#montamos Mount_dir via samba en Backup_dir
mount -t cifs //192.168.0.xx1/Backups/Web_Databases $Work_dir -o username=myUserName,password=myPassword

#Eliminanos el archivo mas viejo si ya se cumplieron “$Days” dias
# Contamos el numero de archivos que hay en el directorio de respaldo

file_count=`ls $Work_dir | wc -l`

# Comparamos si hay mas de $days archivos para borrar el mas viejo
if [ $file_count = $Days ]
then
cd “$Work_dir” && ls -tr | head -n 1 | xargs rm -f
echo “Removiendo el archivo mas viejo…”
else
echo “”
fi

#Creamos el archivo comprimido con todos los archivos sql

zip -r “$Work_dir”/$Archive_file  $Backup_files

#Borramos el directorio temporal
rm -rf $Backup_dir_temp/*.*


#Desmontamos el directorio SMB
umount $Work_dir

 

Bueno esperando que este script tambien les sea util me despido…


Atte Faustino Vasquez Limón

LEAVE A REPLY

Please enter your comment!
Please enter your name here