fix: ensure fs sync before snapshot

This commit is contained in:
manuel 2025-11-08 16:39:26 +08:00
parent f26b59ee6d
commit b572b71dcb

View File

@ -10,6 +10,7 @@ bck_list() {
bck_update() { bck_update() {
zfs set sync=standard joj zfs set sync=standard joj
sleep 5
LIST=($(zfs list -j -t snapshot | jq -rc '[ .datasets | .[] | {dataset: .dataset, version: .snapshot_name} ] | group_by(.dataset) | map({(.[0].dataset): .[-1].version}) | .[]' | tr "\n" " " | sed 's/[{}:"]/ /g')) LIST=($(zfs list -j -t snapshot | jq -rc '[ .datasets | .[] | {dataset: .dataset, version: .snapshot_name} ] | group_by(.dataset) | map({(.[0].dataset): .[-1].version}) | .[]' | tr "\n" " " | sed 's/[{}:"]/ /g'))
for((i=0; i < ${#LIST[@]}; i+=2)); do for((i=0; i < ${#LIST[@]}; i+=2)); do
zfs snapshot ${LIST[i]}@$DATE zfs snapshot ${LIST[i]}@$DATE
@ -32,6 +33,7 @@ bck_prune() {
bck_init() { bck_init() {
zfs set sync=standard joj zfs set sync=standard joj
sleep 5
zfs snapshot joj/$FS zfs snapshot joj/$FS
zfs send -v joj/$FS | ssh manuel@202.121.180.23 $FS zfs send -v joj/$FS | ssh manuel@202.121.180.23 $FS
zfs set sync=disabled joj zfs set sync=disabled joj