[net.sources] "uucp" by tape

andrew@stc.UUCP (Andrew Macpherson) (07/15/85)

This shell script was put together the third time
one of my niebours stopped being able to read the uucp
traffic as fast as it was accumulating.  There is a built-
in assumption of subdirectories ( simple style rather
than DEC's ) but it should be easily modified to suit
other configurations.

This is offered "as is" with all usual and/or excessive
disclaimers, because I hate to think anyone would re-invent
the wheel.

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	uutape.l
#	uutape
# This archive created: Mon Jul 15 15:55:09 1985
export PATH; PATH=/bin:$PATH
echo shar: extracting "'uutape.l'" '(650 characters)'
if test -f 'uutape.l'
then
	echo shar: will not over-write existing file "'uutape.l'"
else
sed 's/^	X//' << \SHAR_EOF > 'uutape.l'
	X.TH uutape local
	X.SH NAME
	Xuutape \- make a tar tape of spooled uucp traffic
	X.SH SYNOPSIS
	X.B uutape
	Xsystem [gradeletter]
	X.SH DESCRIPTION
	X.I uutape
	Xwill build a tar tape of spooled uucp data files, suitable for
	Xreading in on the remote system relative to spool/uucp
	X.PP
	XIf
	X.I gradeletter
	Xis not specified
	X.I uutape
	Xwill build the tar with all spooled news and mail files, otherwise
	Xonly those with the appropriate grade letter are selected.
	X.PP
	X.I uutape
	XAttempts to avoid spooled uucp commands for other than news
	Xand mail.
	X.SH AUTHOR
	XAndrew Macpherson. <andrew@stc.UUCP>
	X.SH BUGS
	XUntested with uusend commands, ignores mode information in Cmd files.
SHAR_EOF
if test 650 -ne "`wc -c < 'uutape.l'`"
then
	echo shar: error transmitting "'uutape.l'" '(should have been 650 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'uutape'" '(1030 characters)'
if test -f 'uutape'
then
	echo shar: will not over-write existing file "'uutape'"
else
sed 's/^	X//' << \SHAR_EOF > 'uutape'
	X#!/bin/sh
	Xif [ $# = 0 -o $# -gt 2 ]
	Xthen
	X	echo	Usage: $0 sysname [grade]
	X	exit 1
	Xfi
	X
	Xuuname | grep -s $1 
	Xif [ $? -ne 0 ]
	Xthen
	X	echo "Unknown system $1" 
	X	exit 2
	Xfi
	X
	Xif [ $# = 2 ]
	Xthen
	X	grade=${2}
	Xelse
	X	grade=
	Xfi
	X
	Xspool=/usr/spool/uucp
	Xhost=`uuname -l`
	X
	Xif [ -d ${spool}/C.${1} ]
	Xthen
	X	work=${spool}/C.${1}
	Xelse
	X	work=${spool}/C.
	Xfi
	X
	Xcd $work
	X
	Xmkdir /tmp/D. /tmp/X.
	X
	Xif [ $? -ne 0 ]
	Xthen
	X	echo "can't create temporary directories"
	X	exit 2
	Xfi
	X
	Xfor cmdf in `ls | grep "${1}${grade}"`
	Xdo
	X	if [ `grep "^S D" $cmdf | wc -l` = 2 ]
	X	then
	X		sed -e "s;S \(D.${host}X*\)\([^ ]*\) \([DX]\.\)\([^ ]*\).*;mv ${spool}/\1/\1\2 /tmp/\3/\3\4 ;" $cmdf >> /tmp/cmd$$
	X		echo $work/$cmdf >> /tmp/rm$$
	X	fi
	Xdone
	X
	Xsh /tmp/cmd$$
	X
	Xcd /tmp
	X
	Xchmod 666 D./* X./*
	X
	Xans="n"
	Xwhile [ "${ans}" -ne "y" ]
	Xdo
	X	echo -n "Please mount tape then type y"
	X	read ans
	X	if [ "${ans}" = "y" ]
	X	then
	X		tar co0 D. X.
	X		if [ $? -ne 0 ]
	X		then
	X			ans="n"
	X			echo "Tape failed - retry"
	X			mt rew
	X		fi
	X	fi
	Xdone
	X
	Xrm -rf /tmp/D. /tmp/X.
	Xrm `cat /tmp/rm$$` /tmp/rm$$ /tmp/cmd$$
	Xexit 0
SHAR_EOF
if test 1030 -ne "`wc -c < 'uutape'`"
then
	echo shar: error transmitting "'uutape'" '(should have been 1030 characters)'
fi
chmod +x 'uutape'
fi # end of overwriting check
#	End of shell archive
exit 0
-- 
Regards,
	Andrew Macpherson.	<andrew@stc.UUCP>
	{creed, datlog, idec, iclbra, root44, stl, ukc}!stc!andrew