#!/bin/bash -x # copia mi backup en máquinas remotas. # variables RANGO="192.168.30" N_COPIAS=3 MI_IP=`ip route | awk '/link/ {print $9}'` # awk hace de grep, con /link/ "matcha" la linea y elimina el CR-LF # funciones conecta() { echo '*******************************' echo $1 echo '*******************************' mkdir /mnt/temporal mount -t nfs $1:/home/backups /mnt/temporal if [ -f "/mnt/temporal/hostname.txt" ]; then NOMBRE=`cat /mnt/temporal/hostname.txt` # desmonto el directorio remoto umount /mnt/temporal # elimino el directorio "temporal" local rmdir /mnt/temporal # creo el nuevo punto de montaje mkdir /mnt/$NOMBRE mount -t nfs $1:/home/backups /mnt/$NOMBRE else NOMBRE='temporal' fi if [ ! -d "/mnt/$NOMBRE/d4" ]; then mkdir /mnt/$NOMBRE/d4 if [ "$?" -ne "0" ]; then echo "el Kpullo tiene el NFS en RO o algo falla" fi fi cp -ur /home/backups/d4/* /mnt/$NOMBRE/d4 # if [ ! -d "/mnt/$1" ]; then # fi } #aleatorio # SEMILLA=`date +%S` # IP_INICIO=$((SEMILLA*4)) # opción 1 # IP_INICIO=`expr $SEMILLA\*4` # opcion 2 IP_INICIO=`echo $(($RANDOM%254))` for hosts in `nmap -sP $RANGO.$IP_INICIO-254, $RANGO.1-$IP_INICIO -exclude $MI_IP 2>/dev/null | grep "appears to be up" | awk '{print $2}'` do RESULT=`rpcinfo -u $hosts nfs 2>/dev/null | grep -c "listo y a la espera"` if [ "$RESULT" -eq "1" ]; then # echo -n "NFS Responde $hosts" ISMOUNTHERE=`showmount -e $hosts | grep -c "^/home/backups "` if [ "$ISMOUNTHERE" -eq "1" ]; then # echo " Backups Available Here" conecta "$hosts"; else # echo " Backups NOT Available" echo -n "" fi fi done