Différences entre les versions de « Rsync script »

De BlaxWiki
Aller à la navigationAller à la recherche
(Page créée avec « Script de Rsync entre filer, l interet de ce script et la sortie vers les logs d info sur le début et fin === Script === <pre> #!/bin/bash BASE="/opt/mnt" SRC="filer1-c... »)
 
 
Ligne 117 : Ligne 117 :
Sun Jan  1 00:55:28 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/abbe_pierre /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/abbe_pierre)
Sun Jan  1 00:55:28 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/abbe_pierre /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/abbe_pierre)
</pre>
</pre>
[[Catégorie:Script]]

Version actuelle datée du 5 avril 2018 à 16:22

Script de Rsync entre filer, l interet de ce script et la sortie vers les logs d info sur le début et fin

Script[modifier]

#!/bin/bash

BASE="/opt/mnt"
SRC="filer1-ctrl1-mds filer1-ctrl2-mds filera-vol0 filerb-vol0"
DST="isilon-nl400-node03"
LOCK="/var/lock/rsync_netapp_isilon.lock"
LOG="/var/log/synchro.log"
EXCLUDED_SRC=":.ha:.snapshot:ump_data:ump_server:dt-plans.auchan.fr:old:"
EXCLUDED_DIR="/opt/agarik/scripts/sync_filers_ignore.txt"

RSYNC=/usr/bin/rsync
TOUCH="/bin/touch"
BASENAME="/bin/basename"
DIRNAME="/usr/bin/dirname"
ECHO="/bin/echo"
RM="/bin/rm"
GREP="/bin/grep"
FIND="/bin/find"
DATE="/bin/date"
HOSTNAME=`/bin/hostname`
VISION="/opt/agarik/Vision/bin/bb_send_raw"
DISPLAY="supervision.agarik.com"
SED="/bin/sed"
TARGET="`$ECHO $HOSTNAME | $SED -e 's/\./,/g'`"
SERVICE="backup"

function gecho()
{
        $ECHO "`$DATE` : $1" >> $LOG
}

if [ -f $LOG ]; then
        mv -f $LOG $LOG.1
fi

gecho "INFO : Debut"
if [ -e $LOCK ];then
        gecho "ERROR : Le lock $LOCK est toujours present";
        exit
else
        gecho "INFO : Mise en place du lock"
        $TOUCH $LOCK;
fi


Error=0
gecho "INFO : Debut du RSYNC"
cd $BASE
for src in `$FIND $SRC -maxdepth 1 -type d`
do
        basesrc=`$BASENAME $src`
        dirsrc=`$DIRNAME $src`
        if [ `echo $EXCLUDED_SRC| $GREP -c ":$basesrc:"` -eq 1 -o "$src" == "$basesrc" ]; then
                gecho "DEBUG : Ignore de $BASE/$src"
        else
                gecho "INFO : Rsync de $BASE/$src"
                gecho "DEBUG : $RSYNC -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=$EXCLUDED_DIR --delete $BASE/$src $BASE/$DST/$dirsrc/ ($src)"
                Date1=$($DATE +"%s")
                $RSYNC -vrpogtlH --exclude=swapfile --exclude=*.vmdk --exclude=*.vswp --exclude-from=$EXCLUDED_DIR --delete $BASE/$src $BASE/$DST/$dirsrc/ >> $LOG
                Date2=$($DATE +"%s")
                Diff=$(($Date2-$Date1))
                Lenght=`$DATE -u -d @"$Diff" +'%-Hh %-Mm %-Ss'`
                case $? in
                        "0" | "24" )    gecho "DEBUG : Rsync de $BASE/$src termine avec succes en $Lenght"
                                ;;
                        "*")    gecho "ERROR : Erreur lors de la synchro de $BASE/$src, verifier le fichier $LOG"
                                Error=1
                                ;;
                esac

        fi
done
gecho "INFO : Fin du RSYNC"
gecho "INFO : Suppression du lock"
$RM -f $LOCK
gecho "INFO : Emission vers la supervision"
State="green"
if [ $Error == 1 ]; then
        State="red";
fi
gecho "DEBUG : $VISION $DISPLAY \"status+4000 $TARGET.$SERVICE $State `$DATE` $SERVICE\""
$VISION $DISPLAY "status+4000 $TARGET.$SERVICE $State `$DATE` $SERVICE

`$GREP ' ERROR ' $LOG`

====
`$GREP ' INFO ' $LOG`


Logs[modifier]

Sun Jan  1 00:55:27 CET 2017 : INFO : Rsync de /opt/mnt/filer4a/autoroutes-trafic
Sun Jan  1 00:55:27 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/autoroutes-trafic /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/autoroutes-trafic)
sending incremental file list
Sun Jan  1 00:55:27 CET 2017 : DEBUG : Rsync de /opt/mnt/filer4a/autoroutes-trafic termine avec succes en 0h 0m 0s

Sun Jan  1 00:55:27 CET 2017 : INFO : Rsync de /opt/mnt/filer4a/dassault_server
Sun Jan  1 00:55:27 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/dassault_server /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/dassault_server)
sending incremental file list
dassault_server/
dassault_server/delivery.fr.3ds.com/

sent 145 bytes  received 382 bytes  351.33 bytes/sec
total size is 0  speedup is 0.00
Sun Jan  1 00:55:28 CET 2017 : DEBUG : Rsync de /opt/mnt/filer4a/dassault_server termine avec succes en 0h 0m 1s
Sun Jan  1 00:55:28 CET 2017 : INFO : Rsync de /opt/mnt/filer4a/les84-data
Sun Jan  1 00:55:28 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/les84-data /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/les84-data)
sending incremental file list
Sun Jan  1 00:55:28 CET 2017 : DEBUG : Rsync de /opt/mnt/filer4a/les84-data termine avec succes en 0h 0m 0s
Sun Jan  1 00:55:28 CET 2017 : INFO : Rsync de /opt/mnt/filer4a/abbe_pierre
Sun Jan  1 00:55:28 CET 2017 : DEBUG : /usr/bin/rsync -vrpogtlH --exclude=swapfile --exclude=*.vmdk  --exclude=*.vswp --exclude-from=/opt/agarik/scripts/sync_filers_ignore.txt --delete /opt/mnt/filer4a/abbe_pierre /opt/mnt/isilon-nl400-node03/filer4a/ (filer4a/abbe_pierre)