A user deleted a directory containing an important file over a Samba share. Share was from a Nexenta box running ZFS, raid-Z3.
Last backup was 12 hours ago - is there a way to recover the 1 day's work?
Edit:
Asked about topic on Nexenta forums, similar responses.
If you're not running snapshots then restoring from backup is your only option.
I would advise you to look into snapshotting, as it's extremely useful on fileservers. Users are dumb, and they overwrite/delete files way more often than you can run a backup.
Edit: As mentioned by ErikA - providing snapshots on a file server also gives users a easy way of finding the old copies on their own. In Windows you'll just have to right click the folder/file and select "Previous versions".
Here's an example (albeit from 2008) of how one might use zdb/mdb to find the older uberblock and recover the orphaned file. Probably not too practical for single file undelete, but I had an unmountable raidz pool which was mostly recoverable after winding back past a dozen corrupt uberblocks. Given infinite time I don't think I could've ever done it, but with the help of a ZFS uber-guru like George Wilson such things are possible.
http://mbruning.blogspot.com/2008/08/recovering-removed-file-on-zfs-disk.html
Right now your only option is restoring from backup as has previously been stated. I'd highly recommend using snapshots and integrating those into your backup workflow.
First of all you will only be backing up changes and new files once you've done a full backup and go with snapshots from there and it may also increase your flexibility depending on how you do backups now. Considering you're on a 12 hour backup schedule you could do hourly ZFS Snapshots in between and keep those for a few days. You could probably even integrate the snapshots themselves into your backup mechanism using send/receive. Its a great feature for incremental backups.