http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97360

Revision: 97360
Author:   ezachte
Date:     2011-09-17 02:29:06 +0000 (Sat, 17 Sep 2011)
Log Message:
-----------
extra validation checks + introduction rsync 

Modified Paths:
--------------
    trunk/wikistats/dumps/publish.sh

Modified: trunk/wikistats/dumps/publish.sh
===================================================================
--- trunk/wikistats/dumps/publish.sh    2011-09-17 02:27:46 UTC (rev 97359)
+++ trunk/wikistats/dumps/publish.sh    2011-09-17 02:29:06 UTC (rev 97360)
@@ -1,13 +1,34 @@
 #!/bin/bash
+clear
+now=`date +%s`
+
+function echo2 {
+  echo $1
+  echo $1 >> log_publish_sh.txt
+}
+
+clear
+echo2 "----------------"
+echo2 "Start publish.sh $1 $2"
+date >> log_publish_sh.txt
+
+# Validate project code
+if [ "$1" == "" ]
+then
+  echo2 "Project code missing! Specify as 1st argument one of 
wb,wk,wn,wp,wq,ws,wv,wx"
+  exit
+fi  
+
+# Abort when 3rd argument specifies a threshold in days, which is not met
+# This prevents costly processing step when new month has just started and 
most ocunting still needs to be done
 abort_before=$3
 day_of_month=$(date +"%d")
 if [ $day_of_month -lt ${abort_before:=0} ]
 then     
-  echo publish.sh: day of month $day_of_month lt $abort_before - exit
+  echo2 "publish.sh: day of month $day_of_month lt $abort_before - exit"
   exit
 fi
 
-clear
 case "$1" in 
   wb) project='Wikibooks' ;     dir='wikibooks' ;;
   wk) project='Wiktionaries' ;  dir='wiktionary' ;;
@@ -19,51 +40,63 @@
   wx) project='Wikispecial' ;   dir='wikispecial' ;;
   *)  project='unknown' ;       dir='...' ;; 
 esac  
-echo "Publish $project" >> WikiCountsLogConcise.txt
-echo "Publish $project"
+echo2 "Publish $project"
 
 #case "$2" in 
 #  en) dir="$dir/EN" ;
 #esac
 
-echo "Copy csv files"
-csv=/a/wikistats/csv_$1
-htdocs=/mnt/htdocs/$dir/csv
-echo csv $csv
-echo htdocs $htdocs
+htdocs="/mnt/htdocs/$dir/csv"
+csv="/a/wikistats/csv_$1"
+archive="/mnt/dumps/xmldatadumps/public/other/pagecounts-ez/wikistats" # odd 
name, temp location
 
-chmod 774 $csv/*  
-#cp $csv/csv_$1.zip $csv/csv.zip
-#rm $csv/csv.zip # temp, obsolete file 
-#rm -f $htdocs/*
-cp $csv/* $htdocs -rvf 
+rm -f $csv/csv.zip  
+chmod 774 $csv/*.csv
 
-cp /a/wikistats/zip_all/csv_$1.zip /mnt/htdocs
+echo2 ""
+echo2 "Copy new/updated csv files from $csv -> $htdocs"
 
-publish=\#publish.txt
+echo2 ""
+rsync -av $csv/*.csv $htdocs
+  
+echo2 ""
+echo2 "Copy csv and html zip files -> public archive $archive"
+echo2 ""
+rsync -av /a/wikistats/zip_all/csv*.zip $archive >> log_publish_sh.txt
+rsync -av /a/wikistats/zip_all/out*.zip $archive >> log_publish_sh.txt
 
-for lang in EN AST BG BR CA CS DA DE EO ES FR HE HU ID IT JA NL NN PL PT RO RU 
SK SL SR SV WA ZH
-#for lang in EN 
+publish="#publish.txt"
+
+for lang in AST BG BR CA CS DA DE EO ES FR HE HU ID IT JA NL NN PL PT RO RU SK 
SL SR SV WA ZH
+#for lang in EN  
 do
-  out=/a/out/out_$1/$lang 
-  htdocs=/mnt/htdocs/$dir/$lang
-  echo out $out
-  echo htdocs $htdocs
-  echo dir $dir
-  echo lang $lang
+  out=/a/out/out_$1/$lang/ 
+  htdocs=/mnt/htdocs/$dir/$lang/
+
+  echo2 ""
+  echo2 "Language $lang"
+  echo2 ""
+  echo2 "Copy new and updated files from $out -> $htdocs"
+  rsync -a $out/* $htdocs/ >>  log_publish_sh.txt
+  ls -l $htdocs
+
 #  if test -e $out/WikiReportsPublish.txt
 #  then mv $out/WikiReportsPublish.txt "$out/$publish" ; fi ;
 
-
 #if test -e $out/$publish
 #  then 
-    echo "New reports generated:\n"
-    cat $out/$publish
-    echo "\n\nCopy $lang\n\n"
-    cp $out/* $htdocs -rvf
-    rm $out/$publish
+#    echo2 "New reports generated"
+#    cat $out/$publish
+#    echo2 "Copy $lang"
+#    cp $out/* $htdocs -rvf
+#    rm $out/$publish
 #  else echo "No new files, do not publish"
 #  fi
 done
 
+echo2 ""
+echo2 "Ready"
+date >> log_publish_sh.txt
+echo2 "-----"
 
+


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to