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

📄 amdump.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) 1991-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: James da Silva, Systems Design and Analysis Group#			   Computer Science Department#			   University of Maryland at College Park### amdump: Manage running one night's Amanda dump run.#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 PATHUSE_VERSION_SUFFIXES="@USE_VERSION_SUFFIXES@"if test "$USE_VERSION_SUFFIXES" = "yes"; then	SUF="-@VERSION@"else	SUF=fiif [ $# -lt 1 ]then        echo `_ 'Usage: %s config [host [disk...]...]' "$0"`  1>&2        exit 1fiexit_status=0;conf=$1if [ ! -d $confdir/$conf ]; then    echo `_ '%s: could not find directory %s' "amdump$SUF" "$confdir/$conf"` 1>&2    exit 1fishiftcd $confdir/$conf || exit 1logdir=`amgetconf$SUF $conf logdir "$@"`[ $? -ne 0 ]  && exit 1errfile=$logdir/amdumptapecycle=`amgetconf$SUF $conf tapecycle "$@"`[ $? -ne 0 ]  && exit 1dumpuser=`amgetconf$SUF $conf dumpuser "$@"`[ $? -ne 0 ]  && exit 1runuser=`{ whoami ; } 2>/dev/null`if [ $? -ne 0 ]; then	idinfo=`{ id ; } 2>/dev/null`	if [ $? -ne 0 ]; then		runuser=${LOGNAME:-"??unknown??"}	else		runuser=`echo $idinfo | sed -e 's/).*//' -e 's/^.*(//'`	fifiif [ $runuser != $dumpuser ]; then	echo `_ '%s: must be run as user %s, not %s' "$0" "$dumpuser" "$runuser"` 1>&2	exit 1fiif test -f hold; then	echo `_ '%s: waiting for hold file to be removed' "$0"` 1>&2	while test -f hold; do		sleep 60	donefiif test -f $errfile || test -f $logdir/log; then	echo `_ '%s: amdump or amflush is already running, or you must run amcleanup' "$0"` 1>&2	exit 1fiumask 077exit_code=0# Plan and drive the dumps.#exec </dev/null >$errfile 2>&1touch $errfileexit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_codeexec </dev/null 2>>$errfile 1>&2exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_codegdate=`date +'%a %b %e %H:%M:%S %Z %YAAAAA%Y%m%dBBBBB%Y%m%d%H%M%SCCCCC%Y-%m-%d %H:%M:%S %Z'`#date=%a %b %e %H:%M:%S %Z %Ydate=`echo $gdate |sed -e "s/AAAAA.*$//"`#date_datestamp="%Y%m%d"date_datestamp=`echo $gdate |sed -e "s/^.*AAAAA//;s/BBBBB.*$//"`#date_starttime="%Y%m%d%H%M%S"date_starttime=`echo $gdate |sed -e "s/^.*BBBBB//;s/CCCCC.*$//"`#date_locale_independent=%Y-%m-%d %H:%M:%S %Zdate_locale_independent=`echo $gdate |sed -e "s/^.*CCCCC//"`printf '%s: start at %s\n' "amdump" "$date"printf '%s: datestamp %s\n' "amdump" "$date_datestamp"printf '%s: starttime %s\n' "amdump" "$date_starttime"printf '%s: starttime-locale-independent %s\n' "amdump" "$date_locale_independent"$amlibexecdir/planner$SUF $conf --starttime $date_starttime "$@" | $amlibexecdir/driver$SUF $conf "$@"exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_codeprintf '%s: end at %s\n' "amdump" "`date`"# Send out a report on the dumps.$sbindir/amreport$SUF $conf "$@"exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_code# Roll the log file to its datestamped name.$amlibexecdir/amlogroll$SUF $conf "$@"exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_code# Trim the log file to those for dumps that still exist.$amlibexecdir/amtrmlog$SUF $conf "$@"exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_code# Trim the index file to those for dumps that still exist.$amlibexecdir/amtrmidx$SUF $conf "$@"exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_code# Keep a debug log through the tapecycle plus a couple of days.maxdays=`expr $tapecycle + 2`days=1# First, find out the last existing errfile,# to avoid ``infinite'' loops if tapecycle is infinitewhile [ $days -lt $maxdays ] && [ -f $errfile.$days ]; do	days=`expr $days + 1`done# Now, renumber the existing log fileswhile [ $days -ge 2 ]; do	ndays=`expr $days - 1`	mv $errfile.$ndays $errfile.$days	exit_code=$?	echo $exit_code	[ $exit_code -ne 0 ] && exit_status=$exit_code	days=$ndaysdonemv $errfile $errfile.1exit_code=$?[ $exit_code -ne 0 ] && exit_status=$exit_codeexit $exit_status

⌨️ 快捷键说明

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