Fixed expression searching in sicslogquery Added proton monitot to tasscan output Chnaged SICS scripts to reflect the switch from TRICS to ZEBRA
55 lines
1.5 KiB
Tcl
Executable File
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"
|
|
|