I've been in a few conversations with customers lately who have asked whether we plan to do anything with directives to make them easier to use. The answer is that we're thinking about it. I've got some ideas on how we might improve in this area, but I'd really like to hear from more customers, so I thought I'd put it to the community.
A few questions to kick off the topic...
Any insight/feedback from the trenches would be greatly appreciated.
I would say that the usage of directives is corresponding to the implementation. It's a bit tricky and the structure is
based on 18th century unix knowledge. You should be familiar with regular expressions and the "directive language".
A tool for validating and creating directives would be greate. A thought.
What if you include a tool along with NetWorker User. A server base engineer / SQL admin could run it and
the output could be saved as a local directive or sent to backup admin for serverside implementation?!
In my mind I see a graphical tool, where you drill down your filesystem, right-click on a folder/file.
Select action for it and continue. Run validate on your system and get the output, give the user a
option to save or send the output.
I belive that one good effect of improve the directives is the clean up of errors. You could easily clean out
messages "grew during save" from backup logs for example. Ignore database files and so forth.
I was thinking along those same lines for a directives checker. I was envisioning something in NMC though as a part of the directives section that would spawn a popup that displays the would-be effects.
How do you check your directives today once you put them in place?
Another suggestion that I got along these same lines was an ask for a canned skip report. Something in NMC that could be used to audit all files skipped. Would you see value in one over the other or should we be looking at both?
Implementing the checker in NMC would be greate, maybe the same code could be implemented inte NetWorker User tool to create
.nsr and nsr.dir files. In larger environments you(as an backup admin) probably doesn't have access to the client.
But maybe that's solvable as you can traverse the filestructure nowdays in NMC. A checker is my first priority.
Comment on the testing, it's kind of rough. I guess that I run a full backup, check the SSID with nsrinfo -t 2423235 <client>.
Wouldn't a canned report be cind of hard to provide, don't you need to actually traverse the filestructure during backup then?
If you skip on directory level...
One thing I do would like to see is a new attribute for a SS in the mediaDB, then you could verify what directive used during backup.
(Sure it's not completley safe as client-side directives could still kick-in.) It has happened that people do "miss" files that they have
skipped w directives in the first place... And I assume that you need the directive to.
Nice new avatar picture you got there, maybe I should change to the Swedish chef pict.
Directives are still heavily used within a lot of my customer environments – they form a fairly essential part of successful backup operations.
There's a few key areas where directives need to be improved. Some of these have been in request queues for years, others have only come up more recently. I'll list them in no particular order:
A directive checker would be handy, I guess, but I'd see the above 3 as more important.
Well, yes directives are useful, but a bit arcane in the implmentation, but very flexible for all that.
If you are considering a GUI interface to make them more user friendly and manageable, without sacrificing the flexibitly, then look no further than your own back yard.
Take a stroll down to the Retrospect folks, and ask to see their implementation of Selectors.
They do pretty much everything Directives can do, and then some, in a typically Macintosh, easy to use manner.
They also include a test facilty so you can run your selector against a chosen volume or directory and observe it's behaviour.
Don't make new Wine, just Port.
Preston- As always thanks for the feedback. I'll let you know where we go with this.
Jo- Great point. I feel a bit silly but I hadn't thought of that. Downloading Retrospect now.
Hakan- It's my school mascot. Go Huskies.
To add to your original question, my apporach is usually to try and ensure that a normal backup runs error free giving a clean log, that way real problems show up and don't get lost in the clutter of the inevitable few files which always show up in logs as failed for various reasons. At this point it is down to the directives, to deal with little pests.
So I would certainly enjoy a slicker interface for performing this chore.
The ultimate interface for this would be to right click the item in the log, see an option for "Exclude from Backup"; "Treat as LogFile"; etc. Select. Job Done!
Even Retrospect hasn't quite got to this, however you can very simply copy the path from the log file and paste it into a selector, which is pretty painless.
A directive checker would be great. There's no perfect world, but the checker would make a huge difference. Just concentrate on that if nothing else!
Here's a screenshot of the selectors (directives) checker that we have in Retrospect. The directive that I set up here is include * + exclude *.tmp. Very interesting. Thanks again for the tip Jo. Porting this into NMC is well worth looking at.