126 lines
3.0 KiB
Bash
126 lines
3.0 KiB
Bash
|
#!/bin/sh
|
||
|
#
|
||
|
# uuq - a script to examine and display the Taylor spool directory contents.
|
||
|
# note - uses the uuname script or similar functionality.
|
||
|
# Zacharias Beckman
|
||
|
|
||
|
SPOOLDIR="/usr/spool/uucp"
|
||
|
SYSTEMS=`uuname`
|
||
|
TMPFILE="/tmp/uuq.tmp"
|
||
|
FORSYSTEM=""
|
||
|
DELETE=""
|
||
|
LONG=0
|
||
|
SINGLE=0
|
||
|
|
||
|
while [ "$1" != "" ]
|
||
|
do
|
||
|
case $1 in
|
||
|
-l) LONG=1
|
||
|
shift
|
||
|
;;
|
||
|
-s) shift
|
||
|
SYSTEMS=$argv[1]
|
||
|
SINGLE=1
|
||
|
shift
|
||
|
;;
|
||
|
-d) shift
|
||
|
DELETE=$argv[1]
|
||
|
shift
|
||
|
;;
|
||
|
-h) echo "uuq: usage uuq [options]"
|
||
|
echo " -l long listing (may take a while)"
|
||
|
echo " -s n run uuq only for system n"
|
||
|
echo " -d n delete item n from the queue (required -s)"
|
||
|
exit 1
|
||
|
;;
|
||
|
*) echo "uuq: invalid option"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ "${DELETE}" != "" ] && [ ${SINGLE} != 1 ] ; then
|
||
|
echo "uuq: you must specify a system to delete the job from:"
|
||
|
echo " uuq -s wizard -d D.0004"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
cd ${SPOOLDIR}
|
||
|
|
||
|
# if we are deleting a job, then do that first and exit without showing
|
||
|
# any other queue information
|
||
|
|
||
|
if [ "${DELETE}" != "" ] ; then
|
||
|
if [ -d ${SYSTEMS}/D. ] ; then
|
||
|
cd ${SYSTEMS}/C.
|
||
|
PACKET=${DELETE}
|
||
|
if [ -f ${PACKET} ] ; then
|
||
|
EXFILE=../D.X/`awk '{if (NR == 2) print $2}' ${PACKET}`
|
||
|
DFILE=../D./`awk '{if (NR == 1) print $2}' ${PACKET}`
|
||
|
echo "deleting job ${PACKET}"
|
||
|
rm ${PACKET}
|
||
|
rm ${EXFILE}
|
||
|
rm ${DFILE}
|
||
|
else
|
||
|
echo "uuq: job ${PACKET} not found"
|
||
|
exit 1
|
||
|
fi
|
||
|
else
|
||
|
echo "uuq: system ${SYSTEMS} not found"
|
||
|
fi
|
||
|
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# use the 'uuname' script to obtain a list of systems for the 'sys' file,
|
||
|
# then step through each directory looking for appropriate information.
|
||
|
|
||
|
if [ ${LONG} -gt 0 ] ; then
|
||
|
echo "system"
|
||
|
echo -n "job# act size command"
|
||
|
fi
|
||
|
|
||
|
for DESTSYSTEM in ${SYSTEMS} ; do
|
||
|
# if there is an existing directory for the named system, cd into it and
|
||
|
# "do the right thing."
|
||
|
|
||
|
if [ -d ${DESTSYSTEM} ] ; then
|
||
|
cd ${DESTSYSTEM}/C.
|
||
|
|
||
|
PACKET=`ls`
|
||
|
|
||
|
if [ "${PACKET}" != "" ] ; then
|
||
|
# if a long listing has been required, extra information is printed
|
||
|
|
||
|
echo ""
|
||
|
echo "${DESTSYSTEM}:"
|
||
|
|
||
|
# now each packet must be examined and appropriate information is
|
||
|
# printed for this system
|
||
|
|
||
|
if [ ${LONG} -gt 0 ] ; then
|
||
|
for PACKET in * ; do
|
||
|
EXFILE=../D.X/`awk '{if (NR == 2) print $2}' ${PACKET}`
|
||
|
DFILE=../D./`awk '{if (NR == 1) print $2}' ${PACKET}`
|
||
|
echo -n "${PACKET} " > ${TMPFILE}
|
||
|
gawk '{if (NR == 2) printf(" %s ", $1);}' ${PACKET} >> ${TMPFILE}
|
||
|
ls -l ${DFILE}|awk '{printf("%-10d ", $4)}' >> ${TMPFILE}
|
||
|
if [ -f ${EXFILE} ] ; then
|
||
|
gawk '/U / {printf("(%s)", $2);}\
|
||
|
/C / {print substr($0,2,length($0));}' ${EXFILE} >> ${TMPFILE}
|
||
|
else
|
||
|
echo "---" >> ${TMPFILE}
|
||
|
fi
|
||
|
|
||
|
cat ${TMPFILE}
|
||
|
done
|
||
|
cat ${SPOOLDIR}/.Status/${DESTSYSTEM}
|
||
|
else
|
||
|
ls
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
cd ${SPOOLDIR}
|
||
|
done
|