Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] ZFS Auto Snapshot

Featured Replies

  • Author

almost got it, now I just got a minor redirection problem to fix then I can push to testing. so yes, please change to that branch. you'll need to remove the plugin first, then install again using the testing link.

my work flow is local experimental, testing after i'm sure it works, then the main release after I'm sure it's stable. so testing pretty much almost always works unless there's something I can't test myself.

  • Author

I have managed to turn your theme problem into it effects EVERYBODY problem. that's good actually, it means I found the right spot, now I just need to get the handler formatted properly.

  • Author

fixed, I hope. pushing to testing. if you're already on testing branch, give it a good 10 minutes from this message and try updating your plugins. if you're not on testing already, wait 10 minutes from this message and swap to testing. please let me know if it's fixed for you.

Theme looks good now, great. but get this when selecting 1 dataset, no further changes (everything default) and press save button

Screenshot 2026-03-28 at 00.04.42.png

  • Author

did you set a schedule?

  • Author

think I found issue. I missed something, but I bet your settings still saved.

  • Author

added more explicit json returns to the save button. that should resolve that error.. pushing to github now. standby a few.

  • Author

ok it's live

Sorry mate, same issue still there. No matter what i check, change setup. Save button gives invaled save response and doesnt save the settings.

Plus UI is not 100% (Pool free-space target box)

Screenshot 2026-03-28 at 08.10.35.png

  • Author

It should not be doing that. OK, what I would like you to do is open developer tools in your browser and go to the network tab access the plug-in and push the button. Then copy and paste the contents of the network tab here. You might want to read through it to make sure there’s nothing that needs to be redacted such as passwords. But honestly, there shouldn’t be any in there at this point. And also, please include what version of the plug-in you’re on. Just in case something didn’t upload properly on my end.

Edited by bstone108

  • 3 weeks later...
  • Author

a new feature is in the works. testers would be appreciated once it launches. you can find it in the testing branch. this is a scheduled zfs send feature. it does not replace the auto snapshots feature but works mostly the same. it works along side it to allow you to send your snapshots to a second pool. first version requires both pools to be local, but if requested I can build a remote send function as well but that'll be complex and you'll be on your own for the networking side of things.

the new feature will take a snapshot at it's scheduled time with a unique prefix and name. that'll prevent auto snapshot from deleting it. also your destination dataset will be blocked from auto snapshot since taking any snapshots on that pool will break zfs send. your destination dataset should be read only. it will then use zfs send to send all snapshots between the last manual snapshot and the current one to the destination dataset. once successful, it'll keep only the newest manual snapshot so it doesn't interfere with auto snapshots. never delete that newest snapshot, if you do, it'll break! zfs send works by calculating differences between the last sent snapshot and the newest snapshot you're trying to send, and only transfers data that's different. it's very fast. but if you start manually managing destination snapshots or data, or you delete the zfs send snapshots from your source dataset, you will break this. So keep that in mind and just let the script do it's thing. it'll prune the manual snapshots on it's own as needed so the auto snapshot portion can function as designed.

  • Author

and forgot to mention it, the test release will include a basic snapshot manager as well.

  • Author

ok new zfs send feature is tested on my test nas and working. I'm also working on adding a tool to automatically convert all your appdata folders to datasets so you can back them up independently of each other, so that you can restore them independently as well. but for the moment, the zfs send feature seems to be working. you'll also notice where I'm working on some recovery tools. Please note, this isn't some magic checkdisk replacement for zfs, no such thing exists. But it will help with some basic recovery steps for damaged files. those steps include looking at scrub results to see if it found any bad files, eventually it'll automatically crawl your snapshots to look for a good copy or allow for other methods to attempt recovery. don't expect miracles, if you have no good snapshot of that file, or an aggressive read attempt of that file fails, then there's nothing that can be done. it also has a very basic read tool to try and find bad files when scrub fails to tell you which file is bad, again, not always successful. this is just a few common methods of recovering a bad file that may or may not work. Backups is and always will be your best way to protect your data. the new zfs send scheduler will help with that. I suggest you send your snapshots to a completely different pool than the source.

please note, this is in testing branch only for now. these are not yet feature stable, so won't be pushed to main till I'm happy with them. but if you want to try them now, grab the testing branch instead of main release.

Edited by bstone108

  • Author

dataset conversion tool is now live in testing. BACKUP FIRST! I don't entirely trust that tool yet as it's untested since making major changes from my original script.

what tool does, you pick a dataset, for example cache/appdata and it will scan it for top level folders [such as cache/appdata/plex if a folder is found, it'll stop all your docker containers, convert the folder to a dataset, along with any other folders it found. once it's done it'll start your containers back. please read instructions CAREFULLY and BACKUP BACKUP BACKUP!! this tool might break your apps so backup the folder you run it on [not just a snapshot] BEFORE running till we confirm it's stable.

purpose behind this tool is mostly for appdata folder. it'll turn each of your app folders into an individual dataset, so they can be snapshotted independently. this'll allow you to easily restore a snapshot for a broken app without having to roll back ALL your apps. Combine this with the new zfs send function of the plugin and you can have a full backup of your appdata folder on a second pool in case cache fails. zfs send function will backup all snapshots taken except on the first backup, the first run only copies that snapshot, but future runs will copy all snapshots between the last one and the newest. Never delete the zfs send snapshots! they'll be handled automatically when the tool runs. you delete those and you'll break your backup. zfs send scheduler tool [under special features] has a retention policy just like the regular auto snapshot tool, and can even be used in place of it if you want, but I don't recommend doing so, I recommend using both. let auto snapshot do what it was made to do, and zfs send will replicate that to your second pool for safe keeping. First zfs send run may take a really long time, especially if like me, your second pool is in a usb enclosure. future runs will go much faster since zfs send only sends changed data on a block level rather than everything all over again.

some important notes, try not to schedule BOTH to run every 15 minutes or something crazy like that... set auto snapshot to your normal schedule, I suggest hourly or less. set zfs send to every 12 hours or more. this way they aren't constantly interfering with each other. zfs send will wait if auto snapshot is running. auto snapshot will still take snapshots, but will skip cleanup if zfs send is running so deleting a snapshot mid send doesn't break sending. cleanup isn't a high priority so auto snapshot will just deal with cleanup of old snapshots on it's next run that zfs send isn't doing something.

while queueing anything would be pointless with the auto snapshot plugin because of the complicated free space handling, free space handling isn't so complex with zfs send, free space is only per dataset, this may result in all of your snapshots being deleted for this dataset if you destination gets full. I'll work on improving the logic somehow, just not sure how yet. I just suggest taking great care to insure your retention policies and the amount of stuff you're backing up to that pool won't leave you in a free space crunch. Anyway that being said, snapshot cleanup by zfs send, since it isn't critical it be done a specific way, is instead sent to a queue for processing so it doesn't hold up the zfs send process. it'll scan for snapshots that need cleaning, toss them in queue, and forget about them as it begins the zfs send. after zfs send, just to keep things tidy, it'll double check to make sure no 0 change snapshots got snagged in the send and delete those too.

Edited by bstone108

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.