#!/bin/sh # Parámetros de la línea de comandos. home="$1" origen="$2" datos="$3" # Configuración. host="intranet-db.mecon.ar" dir="$home"/backups targz="$dir"/`date +%Y%m%d`.tar.gz delete_older_than='-7 days' ext=tar.gz # Obtengo fechas fecha=`date +'%Y%m%d'` fecha_old=`date +'%Y%m%d' -d "$delete_older_than"` # funcion que borra archivos más viejos de lo deseado. delete_old_files() { for f in `ls $dir`; do if (echo $f | egrep -q "[0-9]{8}.$ext"); then f_fecha=`echo $f | sed s/'\\([0-9]\\{8\\}\\)'."$ext"/'\1'/` if ((f_fecha<=fecha_old)); then rm -f "$dir/$f" fi fi done } # Script. echo "Haciendo backup en $targz" files="" for f in `ls "$datos"`; do nombre=`basename "$f" | awk -F- '{ print $1 }'` files="$files $nombre" done cd "$origen" delete_old_files tar -cvzf "$targz" $files #scp -r "$targz" novedades@"$host":"$dir"