Durée rsync
De BlaxWiki
Révision datée du 11 septembre 2012 à 09:37 par 217.174.199.129 (discussion) (Page créée avec « Ce script permet de calculer la durée de chaque rsync fait par différents serveurs. Cela est à lancer sur le serveur rsync, en cherchant dans son fichier de log. La con... »)
Ce script permet de calculer la durée de chaque rsync fait par différents serveurs. Cela est à lancer sur le serveur rsync, en cherchant dans son fichier de log. La configuration du serveur rsync est classique.
datedatehier=`date +%Y/%m/%d -d "1 day ago"`
dateauj=`date +%Y/%m/%d`
for i in `grep "rsync to " /home/rsync/rsyncd.log | grep ^$datehier | cut -d '[' -f 2 |cut -d ']' -f 1`; do egrep -e "rsync to|sent " /home/rsync/rsyncd.log | egrep -e "^$datehier|^$dateauj" | grep "\[$i\]"; done > /tmp/t
for i in `grep "rsync to" /tmp/t | awk '{print $2"_"$3"_"$6}'`; do failed=0;echo "i =>$i";datetime=`echo $i | cut -d "_" -f 1`; pid=`echo $i | cut -d '[' -f 2 | cut -d ']' -f 1`; sec=$((1`echo $datetime | cut -d ':' -f 1`*3600+1`echo $datetime | cut -d ':' -f 2`*60+1`echo $datetime | cut -d ':' -f 3`)); j=`grep "\[$pid\]" /tmp/t | grep sent | awk '{print $2"_"$3}'`;if [ "$j" = "" ]; then j=$i;failed=1;fi;datetime2=`echo $j | cut -d "_" -f 1`; sec2=$((1`echo $datetime2 | cut -d ':' -f 1`*3600+1`echo $datetime2 | cut -d ':' -f 2`*60+1`echo $datetime2 | cut -d ':' -f 3`)); if [ $sec2 -ge $sec ]; then echo "$(($sec2-$sec)) ($failed) $i";else echo "$(($sec2+86400-$sec)) ($failed) $i";fi; done | grep '(' | sort -n | uniq