mirroring uno script per fare un backup giornaliero —
Questo script provvede giornalmente a creare su un disco la copia di una parte dei dati del cluster, vengono salvate solo le directory condivise.
#!/bin/sh -x
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
# DESCRIZIONE
# Esecuzione automatica della sincronia di alcune aree.
#
# AUTORE
# Clark – ottobre 2009
#
# OSSERVAZIONI
#!/bin/sh
SYNCRO=””
#SYNCRO=”-n”
MAXTEMPO=120
MAXBANDA=10240
MACHINE=`uname -n`
if [ “$MACHINE” = “sangiusto” ] ; then
MACHINE2=”sanmarco”
else
MACHINE2=”sangiusto”
fi
ELENCO=”boot var usr bin sbin etc lib emul root”
for i in $ELENCO ; do
echo
echo “MIRROR $i”
if [ -d /mirror/lost+found -a -d /mirror/sistema/$i ] ; then
rsync $SYNCRO -avzH –delete –numeric-ids –stats /$i/ /mirror/sistema/$i
else
echo “mirror myfirm $i error” | mail -s “ERROR:mirror myfirm” sysadmin@myfirm.com
fi
### creo copia dei files critical mission e delle conf.
done
cluster=`/sbin/ifconfig | grep 192.168.2.10`
[ “$cluster” = “” ] && exit
[ “$MACHINE2” = “sangiusto” ] && exit
ELENCO2=”etcvar home2 home3″
GIORNO=`date +%u`
for i in $ELENCO2 ; do
echo
echo “MIRROR $i $GIORNO”
if [ -d /mirror/$GIORNO ] ; then
rsync $SYNCRO -avzH –delete –numeric-ids –exclude ‘*/ntprofiles/*’ –stats /$i/ /mirror/$GIORNO/$i
else
echo “mirror myfirm $i $GIORNO error” | mail -s “ERROR:mirror myfirm” sysadmin@myfirm.com
fi
done
### creo copia delel directory in esame escludendo la directory dei roaming profiles
for i in $ELENCO2 ; do
echo
echo “MIRROR cluster $i $GIORNO”
if [ -d /mirror/$GIORNO ] ; then
rsync $SYNCRO -avzH –delete –numeric-ids –timeout=$MAXTEMPO –stats –bwlimit=$MAXBANDA \
/mirror/$GIORNO/$i/ root@${MACHINE2}:/mirror/$GIORNO/$i
else
echo “mirror cluster myfirm $i $GIORNO error” | mail -s “ERROR:mirror myfirm” sysadmin@myfirm.com
fi
done
### creo la copia del backup sul disco omologo della macchina slave
exit
Categorised as: Linux | Script | Sistemi operativi | Work
Comments are disabled on this post