Files
sicspsi/utils/testtransfer
Koennecke Mark 2caac1016f Fixed a bug with the eiger monochromator not driving mt when mcv did not drive
Fixed expression searching in sicslogquery
Added proton monitot to tasscan output
Chnaged SICS scripts to reflect the switch from TRICS to ZEBRA
2016-07-01 10:51:37 +02:00

55 lines
1.5 KiB
Tcl
Executable File

#!/usr/bin/tclsh
#----------------------------------------------------------
# A script for testing if the transfer of data files
# from instrument computers to AFS works
#
# Mark Koennecke, December 2015
#----------------------------------------------------------
set instlist [list amor boa dmc eiger focus hrpt mars \
morpheus narziss orion poldi rita2 sans sans2 tasp zebra]
proc execCommand {command} {
puts stdout "Doing $command"
set status [catch {eval exec $command} msg]
if {$status != 0} {
puts stdout "ERROR: $msg "
}
}
#-----------------------------------------------------------
proc testTransfer {inst} {
set year [clock format [clock seconds] -format "%Y"]
set tmpfile /tmp/gaga.dat
execCommand "ssh ${inst}@${inst} cat data/${year}/DataNumber > $tmpfile"
set f [open $tmpfile r]
set num [string trim [gets $f]]
set hun [expr $num /1000]
set filename [format "/afs/psi.ch/project/sinqdata/%s/%s/%03d/%s%4dn%06d.*" \
$year $inst $hun $inst $year $num]
set status [catch {glob $filename} l]
if {$status == 0 && [llength $l] >= 1} {
puts stdout "$inst is good"
} else {
puts stdout "File $filename not fond, problem at $inst"
}
}
if {[llength $argv] < 1} {
puts stdout "usage:\n\ttesttransfer instname| all"
exit 1
}
set inst [lindex $argv]
if {[string compare $inst all] == 0} {
foreach inst $instlist {
testTransfer $inst
}
} else {
testTransfer $inst
}
puts stdout "Done"