Différences entre les versions de « Durée rsync »

De BlaxWiki
Aller à la navigationAller à la recherche
(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... »)
 
Ligne 6 : Ligne 6 :
dateauj=`date +%Y/%m/%d`
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 " /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
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
</pre>
</pre>




[[Catégorie:Script]]
[[Catégorie:Script]]

Version du 11 septembre 2012 à 09:37

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