627ea9c607ddf6769f7b83aa0110ca1f8944829d
rhead
  Fri Jun 18 22:07:39 2010 -0700
Removed quotes from rm *.out, since they were causing those files to be retained.  Added process ID variable to files that are created and subsequently removed, so that we can more assured that no innocent bystander files with similar names are discarded.  Collapsed 'rm *Only' line into 'rm *out$$*' line.
diff --git src/utils/qa/checkSync.csh src/utils/qa/checkSync.csh
index d5e8a31..b633b60 100755
--- src/utils/qa/checkSync.csh
+++ src/utils/qa/checkSync.csh
@@ -1,148 +1,147 @@
 #!/bin/tcsh
 source `which qaConfig.csh`
 
 ################################
 #  
 #  11-17-06
 #  Robert Kuhn
 #
 #  checks an entire db between two nodes in realTime
 #
 ################################
 
 set db=""
 set active=""
 set mach1="hgwbeta"
 set mach2="hgw1"
 set url1=""
 set url2=""
 set url=""
 set times=0
 
 if ( $#argv < 1 || $#argv > 4 ) then
   echo
   echo "  checks on table match for an entire db between two nodes in realTime."
   echo "  optionally reports if update times do not match."
   echo "  ignores genbank tables."
   echo "  not in real time for non-assembly databases."
   echo
   echo "    usage:  database [machine1 machine2] [times]"
   echo "              defaults to beta and hgw1"
   echo
   exit
 else
   set db=$argv[1]
 endif
 
 if ( "$HOST" != "hgwdev" ) then
  echo "\n error: you must run this script on dev!\n"
  exit 1
 endif
 
 if ( $#argv == 2 ) then
   if ( "times" == $argv[2] ) then
     set times=1
   else
     echo
     echo " you must specify two machines if you specify one"
     echo
     echo ${0}:
     $0
     exit 1
   endif
 endif
 
 if ( $#argv == 3 || $#argv == 4 ) then
   set mach1=$argv[2]
   set mach2=$argv[3]
 endif
 
 checkMachineName.csh $mach1 $mach2
 if ( $status ) then
   exit 1
 endif
 
 if ( $#argv == 4 ) then
   if ( $argv[4] == "times" ) then
     set times=1
   else
     echo
     echo ' the fourth argument must be "times"\n'
     echo ${0}:
     $0
     exit 1
   endif
 endif
 
 # get tablenames for stripping out genbank
-rm -f genbank.local
-cat $GENBANK | sed -e 's/^^//; s/.$//' > genbank.local
-echo gbLoaded >> genbank.local
+rm -f genbank.local$$
+cat $GENBANK | sed -e 's/^^//; s/.$//' > genbank.local$$
+echo gbLoaded >> genbank.local$$
 
 # 
 set active=`hgsql -h $sqlbeta -Ne "SELECT name FROM dbDb where active = 1" hgcentralbeta \
   | grep $db`
 foreach machine ( $mach1 $mach2 )
   # check if db is for active assembly on beta
   # (if not, can't do real-time check)
   if ( $db == $active ) then
     # get the full table status in real time
-    getTableStatus.csh $db $machine > $machine.tmp
+    getTableStatus.csh $db $machine > $machine.tmp$$
     if ( $status ) then
-      cat $machine.tmp
-      rm $machine.tmp
+      cat $machine.tmp$$
+      rm $machine.tmp$$
 
       exit 1
     endif
   else
     # db is either not active, or not an assembly.  must use status dumps.
-    cp `getRRdumpfile.csh $db $machine` $machine.tmp
+    cp `getRRdumpfile.csh $db $machine` $machine.tmp$$
   endif
   
   # drop header lines from file and grab appropriate fields
   if ( 1 == $times) then
     # find mysql version before grabbing STATUS fields
     set ver=`getVersion.csh $machine 1`
     set subver=`getVersion.csh $machine 2`
     if ( 4 == $ver && 1 == $subver || 5 == $ver ) then
       # newer mysql versions use different fields
-      cat $machine.tmp | sed '1,2d' \
-        | awk '{print $1, $14, $15}' >& $machine.status
+      cat $machine.tmp$$ | sed '1,2d' \
+        | awk '{print $1, $14, $15}' >& $machine.status$$
     else
-      cat $machine.tmp | sed '1,2d' \
-        | awk '{print $1, $13, $14}' >& $machine.status
+      cat $machine.tmp$$ | sed '1,2d' \
+        | awk '{print $1, $13, $14}' >& $machine.status$$
     endif
   else
-    cat $machine.tmp | sed '1,2d' \
-      | awk '{print $1}' >& $machine.status
+    cat $machine.tmp$$ | sed '1,2d' \
+      | awk '{print $1}' >& $machine.status$$
   endif
-  rm $machine.tmp
+  rm $machine.tmp$$
   
   # strip genbank
-  cat $machine.status | egrep -v -f genbank.local | grep -v gbDelete_tmp \
-    > $machine.out
-  rm -f $machine.status
+  cat $machine.status$$ | egrep -v -f genbank.local$$ | grep -v gbDelete_tmp \
+    > $machine.out$$
+  rm -f $machine.status$$
 end
 
 # get diffs
-commTrio.csh $mach1.out $mach2.out | sed -e "s/\.out//g" \
-   | sed -e "s/Only/only/" > trioFile
+commTrio.csh $mach1.out$$ $mach2.out$$ | sed -e "s/\.out$$//g" \
+   | sed -e "s/Only/only/" > trioFile$$
 echo
-cat trioFile
+cat trioFile$$
 
 # process the times or table names of tables that do not match
-set firstOnly=`cat trioFile | sed -n '1p' | awk '{print $1}'`
-set secondOnly=`cat trioFile | sed -n '2p' | awk '{print $1}'`
-rm -f outFile
+set firstOnly=`cat trioFile$$ | sed -n '1p' | awk '{print $1}'`
+set secondOnly=`cat trioFile$$ | sed -n '2p' | awk '{print $1}'`
+rm -f outFile$$
 if ( 0 != $firstOnly || 0 !=  $secondOnly ) then
-  cat $mach1.out.Only | sed -e "s/^/$mach1\t/" >> outFile
-  cat $mach2.out.Only | sed -e "s/^/$mach2\t/" >> outFile
-  sort -k2 outFile 
+  cat $mach1.out$$.Only | sed -e "s/^/$mach1\t/" >> outFile$$
+  cat $mach2.out$$.Only | sed -e "s/^/$mach2\t/" >> outFile$$
+  sort -k2 outFile$$
   echo
 endif
 
-rm -f *Only
-rm -f "*out"
-rm -f trioFile
-rm -f outFile
-rm -f genbank.local
+rm -f *out$$*
+rm -f trioFile$$
+rm -f outFile$$
+rm -f genbank.local$$