⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xss.in

📁 一套客户/服务器模式的备份系统代码,跨平台,支持linux,AIX, IRIX, FreeBSD, Digital Unix (OSF1), Solaris and HP-UX.
💻 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 + -