4d55d58960a6f201417a8def5cb8f43259af176b
rhead
  Mon Mar 19 19:06:18 2012 -0700
Added sudo -v to the main loop, which will keep the sudo permission from timing out as long as no single table exceeds that time. Changed the usage message slightly. Changed hgwbeta to the mysqlbeta variable found in qaConfig.csh. Got rid of the removal of files at the end, since the files contain the mypush output. Redmine #4010.
diff --git src/utils/qa/bigPush.csh src/utils/qa/bigPush.csh
index cf79d08..aa5e82d 100755
--- src/utils/qa/bigPush.csh
+++ src/utils/qa/bigPush.csh
@@ -1,100 +1,88 @@
 #!/bin/tcsh -e
 source `which qaConfig.csh`
 
 
 ################################
-#  04-02-04
-#  updated:
-#  04-08-04
 #
-#  Runs through set of all tables ever used in this assembly.
 #  Pushes multiple tables from dev to beta
 #  can't use "&" after output command because of "password prompt"
 #  (if you do, each command gets put into background and 
 #      requires "fg" to get to password prompt)
 #  can't redirect output into file: 
 #      use "script filename.out" to capture ?
 #  also records total size of the push
 #
 ################################
-onintr cleanup
 
 set db=""
 set tablelist=""
 
 set warningMessage="\n usage:  `basename $0` database tableList\n\
 \n\
 Pushes tables in list to mysqlbeta and records size. \n\
 Requires sudo access to mypush to run.\n\
 \n\
-Do not redirect output or run in the background,\n\
-as it will require you to type your password in.\n\
-Program will ask you for your password again after\n\
-large tables. If you take too long to re-type in\n\
-the table the script stalled on might not get\n\
-pushed. Double-check that all tables have been\n\
+Do not redirect output or run in the background, as\n\
+you may be required to re-type your password if any\n\
+single table takes more than the sudo timeout length\n\
+to push. Double-check that all tables have been\n\
 pushed!\n\
 \n\
 Will report total size of push and write two files:\n\
 db.tables.push -> output for all tables from mypush\n\
 db.tables.pushSize -> size of push\n"
 
 
 if ($2 == "") then
   echo $warningMessage
   exit
 else
   set db=$1
   set tablelist=$2
 endif
 
 set trackName=`echo $2 | sed -e "s/Tables//"`
 # echo trackName = $trackName
 
 echo
-echo "Will have to re-type password after large tables"
+echo "Will have to re-type password after very large tables"
 echo "If you take too long to re-type your password, the table"
 echo "the script stalled on might not get pushed."
 echo
 rm -f $db.$trackName.push
 foreach table (`cat $tablelist`)
   echo pushing "$table"
-  sudo mypush $db "$table" hgwbeta >> $db.$trackName.push
+  sudo -v # validate sudo timestamp and extend timeout
+  sudo mypush $db "$table" $sqlbeta >> $db.$trackName.push
   echo "$table" >> $db.$trackName.push
-  # tail -f $db.$trackName.push
 end
 echo
 
 
 # --------------------------------------------
 # "check that all tables were pushed:"
 
 echo
 updateTimes.csh $db $tablelist
 echo
 
 
 # --------------------------------------------
 # "find the sizes of the pushes:"
 
 echo
 echo "find the sizes of the pushes:"
 echo
 grep 'total size' $db.$trackName.push | gawk '{total+=$4} END {print total}' \
    > $db.$trackName.pushSize
 set size=`cat $db.$trackName.pushSize`
 echo "$size\n    bytes"
 echo
 echo $size | gawk '{print $1/1000;print "    kilobytes"}'
 echo
 echo $size | gawk '{print $1/1000000;print "    megabytes"}'
 echo
 echo
 
 echo end.
-
-cleanup:
-rm -f $db.$trackName.push
-rm -f $db.$trackName.pushSize
-
 exit 0