#!/usr/bin/env bash # Get cluster subdirectory name cd $(dirname $0) CLUSTER="$1" if [ -z "$CLUSTER" ] || [ ! -d "cluster/$CLUSTER" ]; then echo "Usage: $0 " echo "The cluster name must be the name of a subdirectory of cluster/" exit 1 fi shift 1 # Do actual stuff if [ -z "$@" ]; then NIXHOSTLIST=$(ls cluster/$CLUSTER/node | grep -v '\.site\.') else NIXHOSTLIST="$@" fi TMP_SCRIPT=/tmp/tmp-upgrade-$(date +%s).sh SSH_CONFIG=cluster/$CLUSTER/ssh_config for NIXHOST in $NIXHOSTLIST; do NIXHOST=${NIXHOST%.*} if [ -z "$SSH_USER" ]; then SSH_DEST=$NIXHOST else SSH_DEST=$SSH_USER@$NIXHOST fi echo "==== DOING $NIXHOST ====" ssh -F $SSH_CONFIG $SSH_DEST tee $TMP_SCRIPT > /dev/null <