# zfs send source/pool@old-snap | zfs recv -F target/pool
# zfs send -R -I source/pool@old-snap source/pool@recent-snap | zfs recv -Fd target/pool
https://gist.github.com/paulhandy/45571e2077df83829fcc6dac1cfedd1a
Pour enlever tous les snapshots d'un dataset?
https://serverfault.com/questions/340837/how-to-delete-all-but-last-n-zfs-snapshots#340846 You may find something like this a little simpler zfs list -t snapshot -o name | grep '^tank@Auto' | tac | tail -n +16 | xargs -n 1 zfs destroy -r output the list of snapshot (names only) with zfs list -t snaphot -o name filter to keep only the ones that match tank@Auto with grep ^tank@Auto reverse the list (previously sorted from oldest to newest) with tac limit output to the 16th oldest result and following with tail -n +16 then destroy with xargs -n 1 zfs destroy -vr deleting snapshots in reverse order is supposedly more efficient. or sort in reverse order of creation zfs list -t snapshot -o name -S creation | grep '^tank@Auto' | tail -n +16 | xargs -n 1 zfs destroy -vr Test it with ...|xargs -n 1 echo
.*
to replace any characters one or more times…..
# zfs list -H -o name -t snapshot -r the_pool_name -S creation | tail --lines=1 -- or -- # zfs list -H -o name -t snapshot -r the_pool_name -S creation | grep "name_of_the_snapshots" | tail --lines=1
# zfs list -H -o name -t snapshot -r the_pool_name | tail --lines=1 -- or -- # zfs list -H -o name -t snapshot -r the_pool_name | grep "name_of_the_snapshots" | tail --lines=1
Look into tank/my_dataset@my_snapshot:
# ls /mnt/tank/my_dataset/.zfs/snapshot/my_snapshot ### under /mnt for FreeNAS, /rpool for Proxmox
It is possible to go down into subfolders and to copy from this place to another place in the “normal” file system.
Run a scrub job on pool “tank”:
# zpool scrub tank ### top start the job #zpool status -v tank ### to monitor the job