zfs send/receive as dump/restore alternative

Victor Sudakov vas at mpeks.tomsk.su
Mon Nov 14 09:42:52 UTC 2016


Matthew Seaman wrote:
> > How would you restore a) a single dataset or b) a single file from a
> > replication stream package? I really need this mode of operation for
> > undeleting users' files etc.
> 
> You have to 'zfs recv' your datastream and expand it out as a
> filesystem.  

What if I have not enough space to expand the whole datastream as a
filesystem? My replication stream package is 119G large at the moment
one one server, I have neither free space nor spare time to expand the
whole of it into an altroot.

restore(8) did not require that.

> Then you can simply copy individual files back to your live
> system, or you can do a zfs send / zfs recv of a single dataset to
> restore that.

If I have a complete replication stream package, can I "zfs recv" a
single dataset from it? It would be silly to expand the whole pool to
extract a couple of files from zroot/usr/home/johndoe/docs 
> 
> You can easily 'zfs recv' the datastream into a different root directory
> than it came from -- so you won't end up overwriting onesystem with the
> backup of another.

> There are scripts to do this in ports, but here's some I wrote
> myself:
>
> https://github.com/infracaninophile/zfs-backup
>
> I never did get round to writing a 'zfs-restore' script though.
>

So if you ever get to restore several files and don't have enough
space to receive the whole stream, what would you do?

With restore or tar you can always do a partial extract.

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov at sibptus.tomsk.ru


More information about the freebsd-questions mailing list