Script para hacer respaldos via SMB, indicando numero de dias que se desea respaldar

179

Hola…

Este script lo utilizo para realizar respaldos de directorios y salvarlos via samba en un FreeNas, este script va guardando un numero de respaldos deacuerdo al numero de dias que le indiquemos que respalde, una vez que se cumplan los dias que queremos respaldar, el siguiente respaldo borrara el respaldo mas viejo y escribira el respaldo en su lugar….

#!/bin/bash
#
# Respalda Webdirectory
# Por Faustino Vasquez Limon
#
#
Work_dir=”/shellscripts/workdir”
Mount_dir=”//192.168.0.xxx/Backups/Web_Applications”
Backup_dir=”/var/www/html”
Days=7
Day=$(date +%F)

Archive_file=”html_dir_Backup_$Day.zip”

#montamos Mount_dir via samba en Backup_dir
mount -t cifs //192.168.0.xx1/Backups/Web_Applications $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
else
echo “”
fi

#Creamos el archivo comprimido con todos los archivos sql

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

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

umount $Work_dir

 

Coloquen el script en un Cron Job y ejecutenlo en la hora y el dia que quieran….

Esperando como siempre que este tipo de documentos sea util para alguien….

Atte Faustino Vasquez limón