33 lines
873 B
Bash
Executable File
33 lines
873 B
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "Stopping mhvtl Virtual Tape Library..."
|
|
|
|
CONFIG_FILE="/etc/mhvtl/device.conf"
|
|
|
|
# First try graceful shutdown using vtlcmd for each configured Drive
|
|
if [ -f "$CONFIG_FILE" ] && command -v vtlcmd >/dev/null 2>&1; then
|
|
DRIVES=$(grep "^Drive:" "$CONFIG_FILE" | awk '{print $2}' | sort -u)
|
|
for d in $DRIVES; do
|
|
if pgrep -f "vtltape.*-q $d" >/dev/null; then
|
|
echo "Attempting graceful shutdown of vtltape (queue $d)..."
|
|
/usr/bin/vtlcmd $d exit || true
|
|
fi
|
|
done
|
|
# Give processes a few seconds to exit cleanly
|
|
sleep 3
|
|
fi
|
|
|
|
# Fallback: ensure vtllibrary and any remaining vtltape processes are killed
|
|
killall vtllibrary 2>/dev/null || true
|
|
killall vtltape 2>/dev/null || true
|
|
|
|
sleep 1
|
|
|
|
rm -f /var/lock/mhvtl/mhvtl* 2>/dev/null || true
|
|
|
|
# Try to remove kernel module if present
|
|
rmmod mhvtl 2>/dev/null || true
|
|
|
|
echo "mhvtl stopped successfully"
|
|
exit 0
|