]> Sergey Matveev's repositories - dotfiles.git/commitdiff
Do not create FIFO any time
authorSergey Matveev <stargrave@stargrave.org>
Mon, 30 Oct 2023 11:29:19 +0000 (14:29 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 2 Nov 2023 09:34:23 +0000 (12:34 +0300)
bin/bin/zsnap

index 008fd079bab5038b91244ffed4ba14d54dd4f74a..90d08f641b3d4dd2d997b189cddc0bd0a51754a5 100755 (executable)
@@ -15,6 +15,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 +37,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 +51,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 +59,7 @@ case $action in
         ;;
     sync)
         [[ -d $dst ]] || usage
+        mk_fifo
         latest_dst=($dst/*.from~$dst/.*(.Onn[1]))
         [[ $latest_dst ]]
         latest_dst=${latest_dst[1]}