34 lines
865 B
Bash
Executable File
34 lines
865 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Function to run SSH command and handle errors
|
|
run_ssh() {
|
|
server=$1
|
|
command=$2
|
|
echo "===== $server ====="
|
|
ssh -T $server "$command" &
|
|
|
|
# Capture the PID of the last background process
|
|
pid=$!
|
|
|
|
# Wait for the background process to finish
|
|
wait $pid
|
|
|
|
# Check the exit status of the background process
|
|
if [ $? -eq 0 ]; then
|
|
echo "Successfully upgraded $server."
|
|
else
|
|
echo "Failed to upgrade $server. Check the connection and try again."
|
|
fi
|
|
}
|
|
|
|
# Run SSH commands for each server
|
|
run_ssh "oc" 'sudo apt-get upgrade -y'
|
|
run_ssh "tk" 'sudo apt-get upgrade -y'
|
|
run_ssh "cc" 'sudo apt-get upgrade -y'
|
|
run_ssh "rpi3" 'sudo apt-get upgrade -y'
|
|
run_ssh "cse-z" 'sudo apt-get upgrade -y'
|
|
run_ssh "hp" 'sudo apt-get upgrade -y'
|
|
run_ssh "od-xu4" 'yay'
|
|
|
|
echo "Upgrade process completed for all servers."
|