ForoSUSE

ForoSUSE (http://www.forosuse.org/forosuse/index.php)
-   Programación y Scripts (http://www.forosuse.org/forosuse/forumdisplay.php?f=8)
-   -   Sacar copia de seguridad de carpeta compartida en samba (http://www.forosuse.org/forosuse/showthread.php?t=27714)

UnderUp 07-feb-2012 23:30

Sacar copia de seguridad de carpeta compartida en samba
 
Hola amigos del foro.

En esta oportunidad les paso un scritp que elabore para realizar copias de seguridad de carpetas compartidas desde equipos Windows hacia un server en Linux.

Weno, les comento el caso.
En una red heterogenea (Equipos windows y equipos openSUSE); el disco duro de uno de los equipos windows se malogro, con la consiguiente perdida de los datos de la misma (Mea culpa que no prepare copias de seguridad de la misma).

Ante esta situacion surge la necesidad de realizar copias de seguridad de los datos de equipos de la red.

Las comparticiones en la red heterogenea es usando el ptrotocola samba. Contamos con un equipo que hace de servidor con Centos.
Asi que el plan es hacer que el equipos centos se conecta usando samba a los clientes e ir copiando las carpetas de datos (Previamente compartidas en modo solo lectura y bajo contraseña).

Al archivo lo nombre [BackUpClienteSamba_resguardo.sh]

El archivo debera ser ejecutado desde el equipo que hara de servidor (linux).
Lo que hace el script es (Desde el servidor linux):
1) Verificar si el equipo windows esta en linea.
2) Si esta en linea, se conecta usando los datos del usuario.
3) Entrar en la carpeta compartida y extraer todos los datos de la misma en n archivo tar
4) Luego comprime el archivo generado y lo guarda todo en una ruta del equipo linux.

El nombre del archivo generado lleva la fecha y hora de generacion.

He aqui el script elaborado (Lo pueden ajustar segun su necesidad)

Código:

#!/bin/bash
#inicializo variables necesarias para ejecutar el proceso
vNameHost="NombreHostEquipoOrigen"
vCarpetaCompartida="NombreCarpetaCompartidaEnEquipoOrigen"
vNameUser="NombreUsuarioEnEquipoOrigen"
vPassword="ContraseniaDeUsuarioEnEquipoOrigen"
vFecha=$(date +%Y.%m.%d_%H.%M)
vRutaDestino="/home/administrador/Desktop/BackUpClientesSamba"
vNameFile="/BackUp_resguardo_$vFecha.tar"

nCont=1
#realizo la operacion 3 veces para asegurarme que no hubo error en alguna recepcion de paquetes
while [ $nCont -le 3 ]; do
  ping $vNameHost -c 1
  if [ $? -ne 1 ]; then
    #el host esta en linea y procedo a realizar la copia de seguridad
    smbtar -s $vNameHost -x $vCarpetaCompartida -u $vNameUser -p $vPassword -t $vRutaDestino$vNameFile
    bzip2 $vRutaDestino$vNameFile
    #elimino las copias mas antiguas a 45 dias
    find $vRutaDestino/*.tar* -mtime +45 -exec rm {} \;
    #me aseguro de que el bucle ya no vuelva a ejecutarse
    nCont=4
  fi
  let nCont=$nCont+1
done

Pueden programar para que las copias se ejecuten automaticamente de forma programada usando cron.

Si tuvieran alguna duda respecto al mismo, por favor comentar.

Espero les sea de utilidad.


La franja horaria es GMT +2. Ahora son las 18:36.

Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.


Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!