Initial revision
This commit is contained in:
107
scripts/dump-remind
Executable file
107
scripts/dump-remind
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/bin/sh
|
||||
# This file is included in the GNU tar distribution as an example. It is
|
||||
# not used by default unless the proper line is uncommented in backup-specs.
|
||||
# System administrators will probably want to customize this and
|
||||
# backup-specs for their site.
|
||||
#
|
||||
# This script should be run by tar with --info-script (-F) to inform
|
||||
# interested parties that a tape for the next volume of the backup needs to
|
||||
# be put in the tape drive.
|
||||
#
|
||||
|
||||
# Include location of `sendmail' and GNU finger.
|
||||
PATH="/usr/lib:/usr/local/gnubin:${PATH}"
|
||||
export PATH
|
||||
|
||||
# Get definition of TAPE_FILE, VOLNO_FILE, and so on.
|
||||
. /home/gd2/dump/backup-specs
|
||||
|
||||
mt -f "${TAPE_FILE}" rewind
|
||||
mt -f "${TAPE_FILE}" offl
|
||||
|
||||
volno="`cat \"${VOLNO_FILE}\" 2> /dev/null`"
|
||||
if [ $? -ne 0 ]; then
|
||||
volno=0
|
||||
fi
|
||||
|
||||
# Get a list of people to whom to mail a request for changing the tape.
|
||||
# This egregious nightmare parses the output from GNU finger which shows
|
||||
# which users are logged into consoles (and thus in the office and capable
|
||||
# of changing tapes).
|
||||
#
|
||||
# Certain users (like `root') aren't real users, and shouldn't be notified.
|
||||
# Neither should `zippy', `elvis', etc. (on the GNU machines) since they're
|
||||
# just test accounts.
|
||||
recipients="`
|
||||
finger .clients 2> /dev/null \
|
||||
| sed -ne '
|
||||
1{
|
||||
/clientstatus: file has not changed in/{
|
||||
n;n;n;n;d
|
||||
}
|
||||
n;n;d
|
||||
}
|
||||
s/^..................................................//
|
||||
$!{/^$/d
|
||||
/^root?*$/d
|
||||
/^zippy$/d
|
||||
/^fnord$/d
|
||||
/^elvis$/d
|
||||
/^snurd$/d
|
||||
H
|
||||
}
|
||||
${g
|
||||
: 1
|
||||
s/\(\n\)\([A-Za-z0-9_][A-Za-z0-9_]*\)\(\n.*\)\2\(.*\)/\1\2\3\4/g
|
||||
s/\n$//g
|
||||
t 1
|
||||
s/^\n//
|
||||
s/\n$//g
|
||||
s/\n/, /g
|
||||
: 2
|
||||
s/, ,/,/g
|
||||
t 2
|
||||
p
|
||||
}'`"
|
||||
|
||||
# Customized behavior for FSF machines, to bring attention to the fact that
|
||||
# the tape needs to be changed (who looks at the terminal?)
|
||||
sendmail -oi -t << __EOF__
|
||||
From: `basename $0` (backup tape-changing reminder)
|
||||
To: ${recipients}
|
||||
Cc: ${ADMINISTRATOR}
|
||||
Subject: Backup needs new tape for volume ${volno}
|
||||
Reply-To: ${ADMINISTRATOR}
|
||||
|
||||
This is an automated report from the backup script running on
|
||||
`hostname`.
|
||||
|
||||
Volume ${volno} of the backup needs to be put in the tape drive. Usually
|
||||
whoever prepared the backup leaves labeled tapes on top of the drive
|
||||
itself. If there aren't any more, information about where to find tapes
|
||||
and how to label them are posted on the wall by apple-gunkies (unhelpfully
|
||||
obscured by a bookshelf). An online copy (which is probably more
|
||||
up-to-date) can also be found in ~friedman/etc/fsf/backup.how.
|
||||
__EOF__
|
||||
|
||||
|
||||
echo "Please put volume ${volno} in tape drive and press RETURN"
|
||||
read input
|
||||
echo "Writing volume ${volno}..."
|
||||
|
||||
sendmail -oi -t << __EOF__
|
||||
From: `basename $0` (backup tape-changing reminder)
|
||||
To: ${recipients}
|
||||
Cc: ${ADMINISTRATOR}
|
||||
Subject: Volume ${volno} for backup has been added
|
||||
Reply-To: ${ADMINISTRATOR}
|
||||
|
||||
This is an automated report from the backup script running on
|
||||
`hostname`.
|
||||
|
||||
The backup has been continued, so for now no further attention is required.
|
||||
__EOF__
|
||||
|
||||
exit 0
|
||||
|
||||
# eof
|
||||
Reference in New Issue
Block a user