]> git.llucax.com Git - mecon/scripts.git/blob - novedades/backup
Se agrega una opcion para ejecutar sólo la carga de un servidor y se pasa
[mecon/scripts.git] / novedades / backup
1 #!/bin/sh
2 # Parámetros de la línea de comandos.
3 home="$1"
4 origen="$2"
5 datos="$3"
6
7 # Configuración.
8 host="intranet-db.mecon.ar"
9 dir="$home"/backups
10 targz="$dir"/`date +%Y%m%d`.tar.gz
11 delete_older_than='-7 days'
12 ext=tar.gz
13
14 # Obtengo fechas
15 fecha=`date +'%Y%m%d'`
16 fecha_old=`date +'%Y%m%d' -d "$delete_older_than"`
17 # funcion que borra archivos más viejos de lo deseado.
18 delete_old_files() {
19         for f in `ls $dir`; do
20                 if (echo $f | egrep -q "[0-9]{8}.$ext"); then
21                         f_fecha=`echo $f | sed s/'\\([0-9]\\{8\\}\\)'."$ext"/'\1'/`
22                         if ((f_fecha<=fecha_old)); then
23                                 rm -f "$dir/$f"
24                         fi      
25                 fi      
26         done    
27 }
28
29 # Script.
30 echo "Haciendo backup en $targz"
31 files=""
32 for f in `ls "$datos"`; do
33     nombre=`basename "$f" | awk -F- '{ print $1 }'`
34     files="$files $nombre"
35 done
36 cd "$origen"
37 delete_old_files
38 tar -cvzf "$targz" $files
39 #scp -r "$targz" novedades@"$host":"$dir"