X-Git-Url: https://arthur.barton.de/gitweb/?p=trigger-rcmd.git;a=blobdiff_plain;f=scripts%2Ftrigger-rcmd;h=5d496c1a6df646d03b8cf2d75821d0f033d8d166;hp=7d90e3bcc4bb750e2863e785bb51dc794bd53d5a;hb=3381617b62ea3df6f0c9977c5040fdc42b6c784d;hpb=989576f55020f71f35abcaab4e6f2b5646ee255e diff --git a/scripts/trigger-rcmd b/scripts/trigger-rcmd index 7d90e3b..5d496c1 100755 --- a/scripts/trigger-rcmd +++ b/scripts/trigger-rcmd @@ -27,6 +27,7 @@ do_rcmd() { TIMEOUT="180" SSH_CHECKS="6" WAKE_DELAY="10s" + BOOT_DELAY="1m" SHUTDOWN_TIME="+10" . "$cnf" @@ -72,15 +73,21 @@ do_rcmd() { for i in `seq 1 $SSH_CHECKS`; do echo "$NAME: checking SSH connection ($i/$SSH_CHECKS) ..." - ssh -q "$SYSTEM" true >/dev/null 2>&1 && break + ssh -q -o "ServerAliveInterval 120" "$SYSTEM" true >/dev/null 2>&1 && break echo "$NAME: SSH on \"$SYSTEM\" not ready. Waiting ..." sleep 10s done + echo "$NAME: ok, SSH seems to be available on \"$SYSTEM\"." + + if [ "$rsys_was_running" -eq 0 ]; then + echo "$NAME: \"$SYSTEM\" just started up. Delaying actions for $BOOT_DELAY ..." + sleep "$BOOT_DELAY" + fi echo "$NAME: calling \"$CMD\" on \"$SYSTEM\" ..." echo - ssh -q "$SYSTEM" "$CMD" /dev/null + ssh -q -o "ServerAliveInterval 120" "$SYSTEM" "sync; shutdown -hP $SHUTDOWN_TIME" >/dev/null if [ $? -ne 0 ]; then echo "$NAME: failed to power off \"$SYSTEM\"!" >&2 return 5