btrbk filxes
[distro-setup] / btrbk-run
index 187a29a86bcab7a1e1218e94adfea65c664eeddc..a5fd62a45c54bbbd592d570654c2ceca13fa3c9c 100644 (file)
--- a/btrbk-run
+++ b/btrbk-run
@@ -255,8 +255,16 @@ else
 
   sshable=()
   sshfail=()
+  min_idle=$((60 * 15))
   for h in ${targets[@]}; do
     if zone=$(ssh root@$h "mkdir -p /mnt/root/btrbk && date +%z"); then
+      if $cron && xidle=$(ssh iank@$h DISPLAY=:0 xprintidle) && [[ $xidle && $xidle -lt $min_idle ]]; then
+        # This is a separate ssh because xprintidle can fail and thats ok.
+        # Ignore this host. i sometimes use a non-main machine for testing or web browsing, knowing that
+        # everything will be wiped by the next backup, but I dont want it to happen as Im using
+        # it from cronjob.
+        continue
+      fi
       sshable+=($h)
       if [[ $zone != $local_zone ]]; then
         die "error: dont confuse yourself with multiple time zones. $h has different timezone than localhost"