]> arthur.barton.de Git - trigger-rcmd.git/blobdiff - scripts/trigger-rcmd
Introduce a delay for freshly booted systems
[trigger-rcmd.git] / scripts / trigger-rcmd
index c8f92ba68fc987a456a0f2bb9892d251222cade9..9c23ae06e227c797d19c6a2930099051a3ff8d87 100755 (executable)
@@ -27,6 +27,8 @@ do_rcmd() {
        TIMEOUT="180"
        SSH_CHECKS="6"
        WAKE_DELAY="10s"
+       BOOT_DELAY="1m"
+       SHUTDOWN_TIME="+10"
 
        . "$cnf"
 
@@ -75,6 +77,12 @@ do_rcmd() {
                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
@@ -89,7 +97,7 @@ do_rcmd() {
                rsys_users=`ssh -q "$SYSTEM" w | tail -n +3 | wc -l`
                if [ "$rsys_users" = "0" ]; then
                        echo "$NAME: power off \"$SYSTEM\" again ..."
-                       ssh -q "$SYSTEM" "sync; shutdown -hP +1" >/dev/null
+                       ssh -q "$SYSTEM" "sync; shutdown -hP $SHUTDOWN_TIME" >/dev/null
                        if [ $? -ne 0 ]; then
                                echo "$NAME: failed to power off \"$SYSTEM\"!" >&2
                                return 5