„runupdate.sh“ hinzufügen
This commit is contained in:
		
							
								
								
									
										57
									
								
								runupdate.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								runupdate.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | # List of server IP addresses as strings | ||||||
|  | SERVER_LIST=("192.168.1.100" "192.168.1.101" "192.168.1.102") | ||||||
|  |  | ||||||
|  | # Loop through the server list | ||||||
|  | for SERVER in "${SERVER_LIST[@]}" | ||||||
|  | do | ||||||
|  |   echo "Checking for updates on server: ${SERVER}" | ||||||
|  |    | ||||||
|  |   # Establish SSH connection to remote server and run commands to check for updates | ||||||
|  |   SSH_RESULT=$(ssh username@${SERVER} "sudo apt-get update > /dev/null && apt list --upgradable") | ||||||
|  |  | ||||||
|  |   # If updates are available, inform the user | ||||||
|  |   if [ -n "${SSH_RESULT}" ]; then | ||||||
|  |     echo "Updates available on server ${SERVER}:" | ||||||
|  |     echo "${SSH_RESULT}" | ||||||
|  |     echo "" | ||||||
|  |   else | ||||||
|  |     echo "No updates available on server ${SERVER}" | ||||||
|  |     echo "" | ||||||
|  |   fi | ||||||
|  | done | ||||||
|  |  | ||||||
|  | # Prompt user to confirm if they want to update the listed servers | ||||||
|  | read -p "Do you want to update the listed servers? (Yes/No): " UPDATE_CONFIRMATION | ||||||
|  |  | ||||||
|  | # If the user confirms with "Yes", update the servers and store the update status for each server in a list | ||||||
|  | if [[ $UPDATE_CONFIRMATION == "Yes" ]]; then | ||||||
|  |   UPDATE_STATUS=() | ||||||
|  |   for SERVER in "${SERVER_LIST[@]}" | ||||||
|  |   do | ||||||
|  |     echo "Updating server: ${SERVER}" | ||||||
|  |    | ||||||
|  |     # Establish SSH connection to remote server and run commands to update | ||||||
|  |     ssh username@${SERVER} "sudo apt-get update > /dev/null && sudo apt-get upgrade -y" > /dev/null 2>&1 | ||||||
|  |    | ||||||
|  |     # Check the return value of ssh to determine if the update was successful | ||||||
|  |     if [[ $? -eq 0 ]]; then | ||||||
|  |       UPDATE_STATUS+=("${SERVER}: Update successful") | ||||||
|  |       echo "Server ${SERVER} updated." | ||||||
|  |     else | ||||||
|  |       UPDATE_STATUS+=("${SERVER}: Update failed") | ||||||
|  |       echo "Failed to update server ${SERVER}." | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  |  | ||||||
|  |   # Summary of update status | ||||||
|  |   echo "" | ||||||
|  |   echo "Summary of update status:" | ||||||
|  |   for STATUS in "${UPDATE_STATUS[@]}" | ||||||
|  |   do | ||||||
|  |     echo "${STATUS}" | ||||||
|  |   done | ||||||
|  | else | ||||||
|  |   echo "Updates cancelled." | ||||||
|  | fi | ||||||
		Reference in New Issue
	
	Block a user