„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