home-server-backup-script/check-server2

43 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Define server IP, port, and SSH key path
SERVER_IP="192.168.29.251"
SERVER_PORT="2223"
SERVER_NAME="selfhost-2 server VM"
SSH_KEY_PATH="/home/arul/.ssh/id_ed25519" # Add your SSH key path here
echo "[-] Shutting down $SERVER_NAME"
ssh -i "$SSH_KEY_PATH" -o StrictHostKeyChecking=no -p "$SERVER_PORT" root@"$SERVER_IP" "poweroff"
# Wait for 10 seconds to give the server time to power off
echo "[*] Waiting for the server to shut down..."
sleep 10
# Check if the server is off by attempting to SSH and expecting failure
echo "[*] Verifying server shutdown..."
SERVER_OFF=false
MAX_RETRIES=5
for i in $(seq 1 "$MAX_RETRIES"); do
# Try to SSH into the server
ssh -i "$SSH_KEY_PATH" -o StrictHostKeyChecking=no -p "$SERVER_PORT" -o ConnectTimeout=5 root@"$SERVER_IP" "exit" 2>/dev/null
# Check if the SSH command failed, indicating the server is off
if [ $? -ne 0 ]; then
echo "[+] $SERVER_NAME is powered off."
SERVER_OFF=true
break
else
echo "[*] Server is still shutting down. Checking again in 5 seconds..."
sleep 5
fi
done
# Final check to ensure no warning message if the server is off
if [ "$SERVER_OFF" = false ]; then
echo "[!] Warning: $SERVER_NAME did not shut down as expected."
else
echo "[+] Proceeding with the rest of the script."
fi