I have about 50 HP JetDirect print queues on an AIX system that I wanted to remove in a more automated way. The following KSH script is what I came up with to remove the device and queue.
The script attempts to ping the print queue (queues are added by DNS name). If the ping fails, I remove the device using rmqueudev and then remove the queue using rmque.
#!/bin/ksh
for i in $(lpstat | awk '{print $1}')
do
ping -c 1 -w 1 $i >/dev/null 2>&1
if [ $? -ge 1 ];
then
echo "Purging $i"
rmquedev -q $i -d hp@$i
rmque -q $i
fi
done
After running this, I have 6 valid print queues that remain on the AIX system.