Created
July 21, 2025 02:18
-
-
Save JasonkayZK/e8bbe840d4b4d9d0ed15d4385e1c0a07 to your computer and use it in GitHub Desktop.
Call command between multiple servers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Dependency: password-less SSH login | |
| # | |
| # Define server array (easily extensible) | |
| servers=( | |
| "server-1" | |
| "server-2" | |
| "server-3" | |
| ) | |
| # Check if command arguments are provided | |
| if [ $# -eq 0 ]; then | |
| echo "Error: Please provide a command to execute" >&2 | |
| exit 1 | |
| fi | |
| # Execute command across all servers | |
| for server in "${servers[@]}"; do | |
| echo "--------- $server ----------" | |
| # Execute remote command and handle errors | |
| if ssh "$server" "$*"; then | |
| echo "✓ Command executed successfully" | |
| else | |
| echo "✗ Command failed on server: $server" >&2 | |
| # Uncomment below line to exit script on first failure | |
| # exit 1 | |
| fi | |
| done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment