authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-10 10:14:47-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-06-10 10:15:51-07:00
log395583786f5adeb3a2a358f5a9d0ec9e5cd180b0
tree8baf49783dbacdcaf9d1390cf83a8d0ccbcb022e
parentb1b433e6c16b2ca52b33bbe8aea31734aa23212c
signature Signed by SSH key SHA256:xbd+BjjhyBfwk7GVoURf9Yx0gzDerHbvYv7SddNWmAs

fix(clover): backup script hang fixes


1 files changed, 3 insertions(+), 2 deletions(-)

users/clover/sandwich/home.nix+3-2
...@@ -18,7 +18,8 @@ let...@@ -18,7 +18,8 @@ let
18 # Dedicated passphraseless key so the launchd job runs unattended; the18 # Dedicated passphraseless key so the launchd job runs unattended; the
19 # interactive key keeps its passphrase. IdentitiesOnly stops ssh from19 # interactive key keeps its passphrase. IdentitiesOnly stops ssh from
20 # offering the passphrased key first.20 # offering the passphrased key first.
21 SSH=(ssh -i "$HOME/.ssh/id_sandwich_backup" -o IdentitiesOnly=yes -o BatchMode=yes)21 SSH=(ssh -i "$HOME/.ssh/id_sandwich_backup" -o IdentitiesOnly=yes -o BatchMode=yes
22 -o ConnectTimeout=30 -o ServerAliveInterval=30 -o ServerAliveCountMax=4)
2223
23 # Single-instance guard: the initial sync takes hours, far longer than the24 # Single-instance guard: the initial sync takes hours, far longer than the
24 # hourly interval. mkdir is atomic; recover if a previous run died uncleanly.25 # hourly interval. mkdir is atomic; recover if a previous run died uncleanly.
...@@ -38,7 +39,7 @@ let...@@ -38,7 +39,7 @@ let
38 # machine; anything else is a real failure and aborts before the snapshot.39 # machine; anything else is a real failure and aborts before the snapshot.
39 rsync_one() {40 rsync_one() {
40 local rc=041 local rc=0
41 rsync -a --delete --partial --human-readable --stats \42 rsync -a --delete --partial --timeout=600 --human-readable --stats \
42 -e "''${SSH[*]}" \43 -e "''${SSH[*]}" \
43 --exclude '.DS_Store' \44 --exclude '.DS_Store' \
44 --exclude '.Spotlight-V100' \45 --exclude '.Spotlight-V100' \