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

📄 amplot.sh

📁 开源备份软件源码 AMANDA, the Advanced Maryland Automatic Network Disk Archiver, is a backup system that a
💻 SH
字号:
#!@SHELL@# Amanda, The Advanced Maryland Automatic Network Disk Archiver# Copyright (c) 1992-1998 University of Maryland at College Park# All Rights Reserved.## Permission to use, copy, modify, distribute, and sell this software and its# documentation for any purpose is hereby granted without fee, provided that# the above copyright notice appear in all copies and that both that# copyright notice and this permission notice appear in supporting# documentation, and that the name of U.M. not be used in advertising or# publicity pertaining to distribution of the software without specific,# written prior permission.  U.M. makes no representations about the# suitability of this software for any purpose.  It is provided "as is"# without express or implied warranty.## U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.## Author: Olafur Gudumundsson, (ogud@tis.com)  Trusted Information Systems# Formerly at: 		  Systems Design and Analysis Group#			  Computer Science Department#			  University of Maryland at College Park##	Amplot: a program to generate postscript plots of each nights amanda #	performance # #	Author: Olafur Gudmundsson (ogud@tis.com) #	Creation Date: April 1992 #	Last modified: April 1995 #	Input: list of amdumps #	Output: Plot of amdump files as either gnuplots on the screen or#		Postscript files #prefix="@prefix@"exec_prefix="@exec_prefix@"sbindir="@sbindir@"amlibexecdir="@amlibexecdir@". "${amlibexecdir}/amanda-sh-lib.sh" confdir=@CONFIG_DIR@ # add sbin and ucb dirsPATH="$PATH:/usr/sbin:/sbin:/usr/ucb"export PATH# we use a different version of the compression variable than amanda itself.COMPRESS=@AMPLOT_COMPRESS@# Function to check that awk can do command-line variable# substitution.  If no, then exit; if yes, set $AVARFLAG# to the commandline switch used to introduce a variable. This# check used to be performed at build time in configure; it's# now performed at runtime.test_awk() {	local tmpfile result	tmpfile=`mktemp /tmp/amplot.XXXXXX`	echo 'BEGIN{print i; exit}' > ${tmpfile}	result=`$AWK -f ${tmpfile} i=xx | wc -c`	if test "$result" -le 1; then		result=`$AWK -f ${tmpfile} -v i=xx | wc -c`		if test "$result" -le 1; then			echo "$AWK does not support command-line variable assignment; amplot cannot run" >&2			rm -fr $tmpfile			exit 1		else			AVARFLAG=-v		fi	else		AVARFLAG=''	fi	rm -fr $tmpfile}# Function to search for gnuplot and ensure it's working.  This# first tries the location detected/configured when amanda was built,# then tries 'gnuplot', assuming it's in the user's path.  If no# working gnuplot executable is found, it exits with an error.  The# variable $GNUPLOT is set to the resulting executable.find_gnuplot() {	if test "x$GNUPLOT" = "x"; then		# look for it in the user's PATH		GNUPLOT=gnuplot	fi	if ${GNUPLOT} --version 2>/dev/null | grep '^gnuplot' >/dev/null; then		: # looks OK	else		echo "${GNUPLOT} was not found; amplot cannot run"		exit 1	fi}# check our environment, using functions from abovetest_awkfind_gnuplotif [ $# -eq 0 ] ; then	_ 'Usage: %s [-c] [-e] [-g] [-l] [-p] [-t hours] <amdump_files.[gz,z,Z]>\n' $0	_ '%s generates plot for screen with fixed dimensions\n' $0	_ '	-c	Compress the input amdump files after plotting\n'	_ '	-e	Extends x (time) axes if needed\n'	_ '	-g	Run gnuplot directly no postscript file generated DEFAULT\n'	_ '	-l	Landscape mode suitable for printing\n'	_ '	-p	Postscript output (color)\n'	_ '	-b	The postscipt will be b/w\n'	_ '	-t T	Set the right edge of the plot to be T hours\n'	exit 1 fitmp_files="bandw_free disk_alloc dump_idle finished run_queue tape_* title" my_plot=$amlibexecdir/amplot.gpaper=0 gnuplot=1cmpres=0para=""maxtime=4bw=0# setting up the parameters to pass to [gn]awk while :; do    case "$1" in   -c)  cmpres=1; shift;;   -e)  para=$para"$AVARFLAG extend=1 "; shift;;   -g)  gnuplot=1; shift;;   -l)  paper=1; para=$para"$AVARFLAG paper=1 "; shift;;   -p)  gnuplot=0; shift;;   -b)	bw=1; shift;;   -t)  shift	if test "$#" -eq 0; then	    _ '%s: no argument for -t option\n' $0 1>&2	    exit 5	fi	maxtime="$1"; shift;;   *) break;;   esacdoneif [ $# -eq 0 ] ; then 	_ '%s: no input files\n' $0 1>&2	exit 5fipara=$para"$AVARFLAG maxtime=$maxtime"if [ $gnuplot  -eq 1 ] ; then	my_plot=$my_plot"p"		# use the plot prog that pauses	plot=" -geometry 800x700+40+0" 	para=$para"$AVARFLAG gnuplot=1 "	_ "Displaying graph on the screen, <CR> for next graph"	if [ "$paper" -eq 1 ] ; then		_ '%s: -l requires -p flag at the same time\n' $0 1>&2		exit 6 	fi	if [ "$bw" -eq 1 ] ; then		_ '%s: -b requires -p flag at the same time\n' $0 1>&2		exit 6 	fifiif [ $bw -eq 1 ]; then	para=$para" bw=1"filist="";		# files to compress at the endfor i in ${1+"$@"}		# for all the input filesdo	f="$i";	if [ ! -f "$f" ] ; then 		f=`ls "$i" "$i".*[zZ] 2>/dev/null`	fi	if [ -f "$f" ] ; then 		# found file                 disp=`$AWK -f $amlibexecdir/amcat.awk $AVARFLAG f="$f"`		if [ -z "$disp" ] ; then 			_ 'Do not know how to [gz|z]cat this file\n'		else			/bin/rm -f $tmp_files 			$disp "$f" | $AWK -f $amlibexecdir/amplot.awk $para			$GNUPLOT $plot $my_plot			if [ $disp = "cat" -a  $cmpres -eq 1 ] ; then				list=$list" "$f			fi		fi	else 				# check if file has been compressed		_ 'No such file %s or %s\n' "$i" "$i.*[zZ]"	fidone/bin/rm -f $tmp_files if [ "$list" != "" ] ; then		# now compress the files we worked on# comment out next line if you do not want compression at the end	_ 'Compressing %s\n' "$list"	$COMPRESS $listfiexit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -