#!/bin/sh # $Id: memo,v 1.41 2012/02/04 23:55:37 gilles Exp gilles $ software_version() { VERSION=`cat VERSION` } statistics_lfo() { # 62.147.165.21 - - [31/Oct/2010:23:45:28 +0100] "GET /prj/imapsync/VERSION HTTP/1.0" 200 6 "-" "imapsync/1.368 (linux system, perl 5.8.8, Mail::IMAPClient 2.2.9 imapsync)" #grep prj/imapsync/VERSION /usr/local/apache/logs/access_log | sort -n | cut -d ' ' -f 1,12,13|uniq -c | sort -n # list ip cat < ${b}.imapsync_VERSION done } echo statistics_VERSION_monthly_ip 02 2012 statistics_VERSION_monthly_ip() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} cut -d ' ' -f 1,12,13,18,19 linux-france.org.??-${month}-${year}.imapsync_VERSION |sort -n |uniq -c|sort -n > stats_imapsync_${year}_${month}.ip } echo statistics_VERSION_monthly_ip_wc 02 2012 statistics_VERSION_monthly_ip_wc() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} test -f stats_imapsync_${year}_${month}.ip || statistics_VERSION_monthly_ip $month ${year} wc -l stats_imapsync_${year}_${month}.ip } echo statistics_VERSION_monthly_runs 02 2012 statistics_VERSION_monthly_runs() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} test -f stats_imapsync_${year}_${month}.runs || wc -l linux-france.org.??-${month}-${year}.imapsync_VERSION > stats_imapsync_${year}_${month}.runs cat stats_imapsync_${year}_${month}.runs } echo statistics_VERSION_monthly 02 2012 statistics_VERSION_monthly() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( statistics_VERSION_getstats statistics_VERSION_monthly_ip $month $year statistics_VERSION_monthly_runs $month $year statistics_VERSION_monthly_ip_wc $month $year ) } echo statistics_VERSION_yearly_ip 2012 statistics_VERSION_yearly_ip() { year=${1:-`date '+%Y'`} ( cd /home/lf/glamiral/imapsync_stats cut -d ' ' -f 1,12,13,18,19 linux-france.org.??-??-${year}.imapsync_VERSION |sort -n |uniq -c|sort -n > stats_imapsync_${year}.ip ) } echo statistics_VERSION_yearly_os 2012 statistics_VERSION_yearly_os() { year=${1:-`date '+%Y'`} ( cd /home/lf/glamiral/imapsync_stats Linux=`grep linux stats_imapsync_${year}.ip | wc -l` Win32=`grep MSWin32 stats_imapsync_${year}.ip | wc -l` Darwin=`grep darwin stats_imapsync_${year}.ip | wc -l` FreeBSD=`grep freebsd stats_imapsync_${year}.ip | wc -l` Solaris=`grep solaris stats_imapsync_${year}.ip | wc -l` OpenBSD=`grep openbsd stats_imapsync_${year}.ip | wc -l` Nb_All=`cat stats_imapsync_${year}.ip | wc -l` for OS in Linux Win32 Darwin FreeBSD Solaris OpenBSD; do #echo $OS `eval "echo \\$$OS"` / $Nb_All Nb_OS=`eval "echo \\$$OS"` PerCent=`echo "scale=2; 100*$Nb_OS/$Nb_All" | bc -l` echo $OS $PerCent % done ) } echo statistics_VERSION_synthesis 2012 statistics_VERSION_synthesis() { year=${1:-`date '+%Y'`} ( cd /home/lf/glamiral/imapsync_stats echo Nb users each month wc -l stats_imapsync_${year}_??.ip echo Nb users each year wc -l stats_imapsync_????.ip echo Nb runs each month tail -n 1 stats_imapsync_${year}_??.runs echo % Operating systems statistics_VERSION_yearly_os $year echo Biggest users tail -n 5 stats_imapsync_${year}.ip ) } } statistics_VERSION_ks() { TMPDIR=. export TMPDIR echo statistics_VERSION_getstats statistics_VERSION_getstats() { ( cd /home/imapsync/imapsync_stats for f in /var/log/apache2/access.log_????????.gz ; do b=`basename "$f" .gz` #echo "$b" test -f ${b}.imapsync_VERSION && continue echo NOT DONE ${b}.imapsync_VERSION zgrep -h /prj/imapsync/VERSION "$f" > ${b}.imapsync_VERSION done ) } echo statistics_VERSION_monthly_ip 08 statistics_VERSION_monthly_ip() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats cut -d ' ' -f 1,12,13,18,19 access.log_${year}${month}??.imapsync_VERSION |sort -n |uniq -c|sort -n > stats_imapsync_${year}_${month}.ip ) } echo statistics_VERSION_monthly_os 08 statistics_VERSION_monthly_os() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats Linux=`grep linux stats_imapsync_${year}_${month}.ip | wc -l` Win32=`grep MSWin32 stats_imapsync_${year}_${month}.ip | wc -l` Darwin=`grep darwin stats_imapsync_${year}_${month}.ip | wc -l` FreeBSD=`grep freebsd stats_imapsync_${year}_${month}.ip | wc -l` Solaris=`grep solaris stats_imapsync_${year}_${month}.ip | wc -l` OpenBSD=`grep openbsd stats_imapsync_${year}_${month}.ip | wc -l` Nb_All=`cat stats_imapsync_${year}_${month}.ip | wc -l ` for OS in Linux Win32 Darwin FreeBSD Solaris OpenBSD; do #echo $OS `eval "echo \\$$OS"` / $Nb_All Nb_OS=`eval "echo \\$$OS"` PerCent=`echo "scale=2; 100*$Nb_OS/$Nb_All" | bc -l` echo $OS $PerCent% done ) } echo statistics_VERSION_yearly_os statistics_VERSION_yearly_os() { year=${1:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats Linux=`grep linux stats_imapsync_${year}.ip | wc -l` Win32=`grep MSWin32 stats_imapsync_${year}.ip | wc -l` Darwin=`grep darwin stats_imapsync_${year}.ip | wc -l` FreeBSD=`grep freebsd stats_imapsync_${year}.ip | wc -l` Solaris=`grep solaris stats_imapsync_${year}.ip | wc -l` OpenBSD=`grep openbsd stats_imapsync_${year}.ip | wc -l` Nb_All=`cat stats_imapsync_${year}.ip | wc -l` for OS in Linux Win32 Darwin FreeBSD Solaris OpenBSD; do #echo $OS `eval "echo \\$$OS"` / $Nb_All Nb_OS=`eval "echo \\$$OS"` PerCent=`echo "scale=2; 100*$Nb_OS/$Nb_All" | bc -l` echo $OS $PerCent % done ) } echo statistics_VERSION_yearly_ip statistics_VERSION_yearly_ip() { year=${1:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats cut -d ' ' -f 1,12,13,18,19 access.log_${year}????.imapsync_VERSION |sort -n |uniq -c|sort -n > stats_imapsync_${year}.ip ) } echo statistics_VERSION_monthly_ip_wc 01 2012 statistics_VERSION_monthly_ip_wc() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats test -f stats_imapsync_${year}_${month}.ip || statistics_VERSION_monthly_ip $month ${year} wc -l stats_imapsync_${year}_${month}.ip ) } echo statistics_VERSION_monthly_runs 01 2012 statistics_VERSION_monthly_runs() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats wc -l access.log_${year}${month}??.imapsync_VERSION > stats_imapsync_${year}_${month}.runs cat stats_imapsync_${year}_${month}.runs ) } echo statistics_VERSION_monthly 01 2012 statistics_VERSION_monthly() { month=${1:-`date '+%m'`} year=${2:-`date '+%Y'`} ( statistics_VERSION_getstats statistics_VERSION_monthly_ip $month $year statistics_VERSION_monthly_runs $month $year statistics_VERSION_monthly_ip_wc $month $year ) } echo statistics_VERSION_synthesis 2012 statistics_VERSION_synthesis() { year=${1:-`date '+%Y'`} ( cd /home/imapsync/imapsync_stats echo Nb users each month wc -l stats_imapsync_${year}_??.ip echo Nb users each year wc -l stats_imapsync_????.ip echo Nb runs each month tail -n 1 stats_imapsync_${year}_??.runs echo % Operating systems statistics_VERSION_yearly_os $year echo Biggest users tail -n 5 stats_imapsync_${year}.ip ) } } niouzes_compil() { ( cd /g/public_html/www.linux-france.org/html/ m4 niouzes.m4 > niouzes.xml python ./niouzes/getmynews.py --neuf niouzes.xml > niouzes-neuf.html python ./niouzes/getmynews.py --html niouzes.xml > niouzes-html.html ) } lfo_announce() { software_version NEWS_FILE="/g/public_html/www.linux-france.org/html/niouzes/niouzes_imapsync.xml" if ! newer VERSION $NEWS_FILE; then echo "$VERSION already announced" else cat > $NEWS_FILE << EOF `LANG=fr_FR date '+%A %d %B %Y'` : Synchronisez ou migrez vos boites aux lettres avec économie et l'outil imapsync $VERSION (Gilles LAMIRAL) EOF fi niouzes_compil } #' nedit sucks with syntax color fm_init() { software_version NEWS_FILE_FM="./freshmeat_submition" NEWS_FILE_FM_INP=${NEWS_FILE_FM}.inp NEWS_FILE_FM_OUT=${NEWS_FILE_FM}.json } fm_read_param() { # read definitions . $NEWS_FILE_FM_INP } fm_read_announce() { fm_init fm_read_param cat << EOF { "release": { "tag_list": "stable, $RELEASE_FOCUS", "version": "$VERSION", "hidden_from_frontpage": false, "changelog": "$TEXT_BODY" } } EOF } fm_announce() { fm_init if ! newer VERSION $NEWS_FILE_FM_OUT; then echo "$VERSION already submitted on freshmeat" else if newer VERSION $NEWS_FILE_FM_INP; then echo "Update $NEWS_FILE_FM_INP please" return 1 fi fm_read_announce > $NEWS_FILE_FM_OUT curl -X PUT -d @../../var/pass/secret.freshmeat -d @$NEWS_FILE_FM_OUT \ -H "Content-Type: application/json" \ http://freshmeat.net/projects/imapsync.json fi }