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