]> Sergey Matveev's repositories - dotfiles.git/blobdiff - bin/bin/zsnap
HI flag
[dotfiles.git] / bin / bin / zsnap
index 008fd079bab5038b91244ffed4ba14d54dd4f74a..7bab829040cc9ebee6e6cea2a32ac62d5ec2171b 100755 (executable)
@@ -1,7 +1,6 @@
 #!/usr/bin/env zsh
 
-set -e
-setopt EXTENDED_GLOB
+setopt ERR_EXIT EXTENDED_GLOB
 
 usage() {
     cat <<EOF
@@ -15,6 +14,13 @@ EOF
     exit 1
 }
 
+mk_fifo() {
+    [[ -z $FIFO ]] || {
+        mkfifo $dst/$latest_filename.zfs.zst.age
+        echo $dst/$latest_filename.zfs.zst.age
+    }
+}
+
 enccmd=(~stargrave/bin/age -R /home/stargrave/.age/general.pub)
 
 [[ $# -ge 2 ]] || usage
@@ -30,10 +36,6 @@ snaps=(${(f)snaps})
 latest=${snaps[1]}
 latest_filename=${latest:gs#/#%}
 dst=$3
-[[ -z $FIFO ]] || {
-    mkfifo $dst/$latest_filename.zfs.zst.age
-    echo $dst/$latest_filename.zfs.zst.age
-}
 
 case $action in
     snap-initial)
@@ -48,6 +50,7 @@ case $action in
         ;;
     sync-initial)
         [[ -d $dst ]] || usage
+        mk_fifo
         setopt PIPE_FAIL
         zfs send -Rwv $latest | zstdmt | $enccmd > $dst/$latest_filename.zfs.zst.age
         sync
@@ -55,6 +58,7 @@ case $action in
         ;;
     sync)
         [[ -d $dst ]] || usage
+        mk_fifo
         latest_dst=($dst/*.from~$dst/.*(.Onn[1]))
         [[ $latest_dst ]]
         latest_dst=${latest_dst[1]}