From 021338e619b2cb6a07dc07a600c95c08e8c2de29 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Sun, 21 May 2023 21:14:55 -0400 Subject: use "ssh localhost" to access local system; support ssh to other systems --- go.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/go.sh b/go.sh index 7487dfa..5e9b537 100755 --- a/go.sh +++ b/go.sh @@ -38,6 +38,11 @@ get_age() echo $((now - then)) } +btrfs_receive() +{ + ssh -- "${1%%:*}" btrfs receive -- "${1#*:}" +} + set -e check_dependencies check_user_is_root @@ -67,6 +72,12 @@ src=${config[source]} dst=${config[destination]} remote_head=${config[head]} +case "$dst" in + *:/*) ;; + /*) dst=localhost:$dst ;; + *) die "Invalid destination: $dst" ;; +esac + is_subvolume "$src" if [ "$(get_age "$remote_head")" -le "$MAX_AGE_SECONDS" ] @@ -78,7 +89,7 @@ else btrfs subvolume snapshot -r -- "$src" "$new_snapshot" fi -btrfs send ${remote_head:+ -p "$remote_head"} -- "$new_snapshot" | pv | btrfs receive -- "$dst" +btrfs send ${remote_head:+ -p "$remote_head"} -- "$new_snapshot" | pv | btrfs_receive "$dst" jq --arg h "$new_snapshot" '. | .head=$h' <"$config_file" >"$config_file_temp" mv -T -- "$config_file_temp" "$config_file" -- cgit v1.2.3