Comments (5)
the whole point of having recursive=on is to have 'aligned' snapshots on all subdatasets (zfs snapshot -r ...). why would you want to override certain properties for subdatasets?
you can always set it up as non-recursive giving you all the flexibility.
maybe i didn't get your point. if so, you might give a specific use case?
from znapzend.
Actually, it's not so much the behaviour of recurisve as it is how children of a dataset are treated. I'd like inherited user properties to be obeyed and znapzend to recurse through children examining each child dataset's relevant user properties.
Here's the real case (a handful of datasets of which only one or two have different policies wrt znapzend than their parents or siblings):
: smd ; zfs list -r ssdpool
NAME USED AVAIL REFER MOUNTPOINT
ssdpool 204G 56.0G 3.96M /Volumes/ssdpool
ssdpool/DATA 37.0G 56.0G 704K /Volumes/ssdpool/DATA
ssdpool/DATA/opt 17.9G 56.0G 15.6G /opt
ssdpool/DATA/squidcache 19.1G 5.90G 16.9G /Volumes/ssdpool/DATA/squidcache
ssdpool/VMWareVMs 6.33G 41.7G 6.33G /Users/smd/Documents/Virtual Machines
ssdpool/ZIL-FILES 493M 9.52G 491M /Volumes/ssdpool/ZIL-FILES
ssdpool/smd 155G 54.8G 146G /Users/smd
ssdpool/smd/Library 2.58G 54.8G 136K none
ssdpool/smd/Library/Safari 464M 54.8G 189M /Users/smd/Library/Safari
ssdpool/smd/Library/SavedApplicationState 2.12G 54.8G 285M /Users/smd/Library/Saved Application State
ssdpool/virtualBoxVMs 1.85G 28.1G 1.85G /Users/smd/VirtualBOX VMs
ssdpool/vms-1840 1.98G 56.0G 7.76G /Volumes/ssdpool/vms-1840
ssdpool org.znapzend:src_plan 1days=>1hours,3days=>2hours,7days=>6hours,2weeks=>1days local
ssdpool org.znapzend:dst_a root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool local
ssdpool org.znapzend:dst_a_plan 7days=>4hours,30days=>12hours,90days=>1days,1years=>1weeks,10years=>1months
ssdpool/ZIL-FILES org.znapzend:src_plan 1days=>4hours
ssdpool/ZIL-FILES org.znapzend:dst_a root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/ZIL-FILES
ssdpool/smd/Library/SavedApplicationState org.znapzend:dst_a [email protected]:OldStuff/CLA-TM/from_ssdpool/ssdpool/smd/Library/SavedApplicationState
ssdpool/smd/Library/SavedApplicationState org.znapzend:src_plan 1days=>5minutes,3days=>1hours,7days=>2hours,2weeks=>1days
ssdpool/smd/Library/SavedApplicationState org.znapzend:dst_a_plan 7days=>4hours,30days=>12hours,90days=>1days,1years=>1weeks,10years=>1months
ssdpool/smd/Library/SavedApplicationState org.znapzend:dst_a root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/smd/Library/SavedApplicationState
ssdpool/DATA/squidcache org.znapzend:src_plan 1days=>1hours,3days=>4hours,7days=>12hours
ssdpool/DATA/squidcache org.znapzend:dst_a root@dst:OldStuff/CLA-TM/from_ssdpool/ssdpool/DATA/squidcache
ssdpool/DATA/squidcache org.znapzend:dst_a_plan 7days=>12hours
Everything else is essentially the same; the only way to do this seems to be to create (or import and edit) separately for each dataset. Small changes that affect all the datasets have to then be done programmatically. I'd rather take advantage of how User Properties are inherited and overridden, and just have znapzend pick up on it.
In particular, I have a couple of pools with hundreds of datasets and would run into the same problem: scores of sibling datasets which will not differ at all (modulo pairing dataset and dst) and a handful that will have slightly different src or dst plans. And possibly one or two with a second dst.
Another example is in the JNX code:
https://github.com/jollyjinx/ZFS-TimeMachine/blob/master/zfstimemachinebackup.perl#L48
from znapzend.
thanks, got it. :)
i'll put it on our roadmap
from znapzend.
I just tried znapzend and immediately stumbled across this as well. It's probably related to being used to zetaback before, as this allows suchs exceptions.
I get that this point is a misunderstanding and instead is driven by znapzend's design, however, I too have ~ 100 filesystems in a hierarchy containing a few transient filesystems (tmp and obj trees, which arguably could be moved elsewhere, but happen to be where they are for historicaly reasons), where the above proposal would come in very handy.
from znapzend.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from znapzend.
Related Issues (20)
- PR self-tests fail in docker stage: `mbuffer (no such package)` HOT 4
- Seems that for non-enabled mode we only delete snaps from the first child dataset HOT 4
- No thinning of remote snapshots HOT 6
- Missing or empty input at offset 0 at /usr/lib/Mojo/IOLoop/Subprocess.pm line 84 HOT 3
- Minor? Initial make fail on canton HOT 1
- Design problem with "enabled=off, recursion=on" handling HOT 1
- Failed to start ZnapZend - ZFS Backup System HOT 1
- Is it possible to send an encrpyted snapshot to a remote? HOT 2
- Only snapshot HOT 3
- Is this possible A -> B -> C (encr) HOT 1
- Missing docs on `oracleMode` for `znapzendzetup` HOT 2
- Ignore parent dataset with --recursive. HOT 6
- mbuffer: "operation not supported" message and not sure how to troubleshoot HOT 3
- Make README's recursive dataset snapshot pruning warning clearer HOT 1
- Feature: Add ability of DST to store snapshots as files HOT 4
- ZFS destroy snapshot causes hung_task panic HOT 5
- CI: Problem building Docker image for "Release/Docker push" scenario: repo lacks mbuffer? HOT 1
- The `mbuffer` settings relate to the remote system only, is this right? HOT 1
- consider a znappull? HOT 2
- [MacOS Homebrew install of znapzend] the Launchctl service is not loaded properly: a fix HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from znapzend.