📄 xss.in
字号:
#! /opt/bin/wish################### Start of $RCSfile: xss.in,v $ #################### $Source: /home/alb/afbackup/afbackup-3.3.8.1/RCS/xss.in,v $# $Id: xss.in,v 1.3 2004/07/08 20:34:48 alb Exp alb $# $Date: 2004/07/08 20:34:48 $# $Author: alb $######### description #######################################################################################################################set prefix "@prefix@"set TEXTDOMAIN "@PACKAGE@"set TEXTDOMAINDIR "@commondatadir@/locale"proc T_ { text } { global TEXTDOMAIN TEXTDOMAINDIR return [ INTL_gettext $text $TEXTDOMAIN $TEXTDOMAINDIR ]}proc TN_ { text } { return $text}source "@commonshlibdir@/aftcllib.tcl"if { [ llength $argv ] > 1 } { set usagestr [ T_ "Usage" ] append usagestr [ TN_ ": " ] [ file tail $argv0 ] { [ <config-file> ]} puts stderr $usagestr exit 2}# user settable sectionset BACKUP_HOME_DEFAULT $env(BACKUP_HOME_DEFAULT)if { [ info exists env(BACKUP_HOME) ] } { set BACKUP_HOME $env(BACKUP_HOME)}if { [ llength $argv ] == 1 } { set configfile [ lindex $argv 0 ]} else { set found 0 set configfiles "$BACKUP_HOME_DEFAULT/etc/backup.conf $BACKUP_HOME_DEFAULT/lib/backup.conf /etc/buserver.conf /etc/afbuserver.conf /etc/afserver.conf /etc/afbackup/server.conf" lappend configfiles "@serverconfdir@/@serverconf@" foreach configfile "$configfiles" { if { [ file readable $configfile ] } { set found 1 break } } if { ! $found } { puts stderr [ T_ "Error: Cannot read configuration file. Exiting." ] exit 2 }}proc getparam { pat } { global configfile set pattern {^[ \t]*} append pattern $pat append pattern {[ \t]*} set errfl [ catch { set fp [ open $configfile r ] } ] if { $errfl } { puts stderr [ format [ T_ "Error: Cannot open file `%s'.\n" ] $configfile ] exit 0 } while { [ gets $fp line ] >= 0 } { if { [ regexp -indices $pattern $line i1 ] } { close $fp set idx [ expr [ lindex $i1 1 ] + 1 ] return [ string trim [ string range $line $idx end ] ] } } close $fp return ""}set replacements { { "%V" "vardir" "var" "@servervardir@" } { "%L" "libdir" "lib" "@serverlibdir@" } { "%I" "logdir" "var" "@serverlogdir@" } { "%B" "bindir" "bin" "@serverbindir@" } { "%C" "confdir" "lib" "@serverconfdir@" }}proc repl_dirs { args } { global replacements foreach uvar $args { upvar $uvar var foreach repl $replacements { set key [ lindex $repl 0 ] set varname [ lindex $repl 1 ] global $varname set var [ GStr_replSubstring $var $key [ set $varname ] ] break } }}set vardir [ getparam {[Vv][Aa][Rr][-_ \t]*[Dd]ire?c?t?o?r?y?:?} ]if { $vardir == "" } { unset vardir}foreach repl $replacements { set varname [ lindex $repl 1 ] set subdir [ lindex $repl 2 ] if { ! [ info exists $varname ] } { if { [ info exists BACKUP_HOME ] } { set $varname "$BACKUP_HOME/$subdir" } else { set $varname [ lindex $repl 3 ] } }}set statusfile [ getparam {[Ss]tatus[-_ \t]*[Ff]ile:?} ]if { $statusfile == "" } { set statusfile "$vardir/status"}set logfile [ getparam {[Ll]ogg?i?n?g?[-_ \t]*[Ff]ile:?} ]if { [ string range $logfile 0 0 ] == "@" } { set logfile [ lindex $logfile 1 ] if { [ string trim $logfile ] == "" } { unset logfile }}repl_dirs statusfile logfileproc update_statusdisplay { } { global statusfile logfile num_log_lines_str prev_log_display set success [ catch { set line [ exec tail -1 $statusfile ] } ] if { ! $success } { .top.stat.stat.label configure -text $line } if { [ info exists logfile ] } { if { ! [ info exists prev_log_display ] } { set prev_log_display "" } set numlines 1 scan $num_log_lines_str "%d" numlines set success [ catch { set lines [ exec tail -$numlines $logfile ] } ] if { ! $success } { if { $lines != $prev_log_display } { .top.log.log.text configure -state normal .top.log.log.text delete 0.0 end .top.log.log.text insert 0.0 $lines .top.log.log.text configure -state disabled .top.log.log.text yview end set prev_log_display $lines } } } after 2000 update_statusdisplay}set num_log_lines_str 10frame .top -borderwidth 5frame .top.stat -borderwidth 5 -relief sunkenlabel .top.stat.label -text [ T_ "Current server status:" ]frame .top.stat.stat -borderwidth 2 -relief sunkenlabel .top.stat.stat.label -width 80pack .top.stat.label -side top -anchor wpack .top.stat.stat.label -fill x -side top -expand 1pack .top.stat.stat -fill x -side top -expand 1pack .top.stat -fill xpack .top -fill xif { [ info exists logfile ] } { frame .top.log -borderwidth 5 -relief sunken label .top.log.label -text [ T_ "Most recent lines in server's log:" ] frame .top.log.log -borderwidth 0 text .top.log.log.text -width 80 -height $num_log_lines_str -state disabled -xscrollcommand ".top.log.xscroll set" -yscrollcommand ".top.log.log.yscroll set" -wrap none scrollbar .top.log.log.yscroll -command ".top.log.log.text yview" scrollbar .top.log.xscroll -command ".top.log.log.text xview" -orient horizontal frame .top.log.num -borderwidth 0 label .top.log.num.label -text [ T_ "Number of displayed log lines:" ] entry .top.log.num.entry -textvariable num_log_lines_str pack .top.log.label -side top -anchor w pack .top.log.log.text -side left -expand 1 -fill both pack .top.log.log.yscroll -side left -fill y pack .top.log.log -fill both -expand 1 -side top pack .top.log.xscroll -fill x -side top pack .top.log.num.label -side left pack .top.log.num.entry -side left -expand 1 -fill x pack .top.log.num -side top pack .top.log -fill both -expand 1 -side top pack .top -fill both -expand 1}wm title . [ T_ "AF Backup server status" ]update_statusdisplay
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -