{"id":927,"date":"2009-09-03T18:15:20","date_gmt":"2009-09-03T08:15:20","guid":{"rendered":"http:\/\/nsrd.wordpress.com\/?p=927"},"modified":"2009-09-03T18:15:20","modified_gmt":"2009-09-03T08:15:20","slug":"quibbles-directive-management","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2009\/09\/03\/quibbles-directive-management\/","title":{"rendered":"Quibbles &#8211; Directive Management"},"content":{"rendered":"<p>I&#8217;m a big fan of careful management of directives &#8211; for instance, I always go by the axiom that it&#8217;s better to backup a little bit too much and waste some tape than it is to not backup enough and not be able to recover.<\/p>\n<p>That being said, I&#8217;m also a big fan of correct use of directives within NetWorker &#8211; skipping files that 100% are not required, adjusting preferences for the way files are backed up (e.g., logasm), etc., are quite important to getting well running backups.<\/p>\n<p>So needless to say it <em>bugs the hell out of me<\/em> that after all this time, you still can&#8217;t include a directive within a directive.<\/p>\n<p>Or rather, you can, but it&#8217;s through a method called &#8220;copy and paste&#8221;, which as we know, doesn&#8217;t lend itself too well to auto updating functionality.<\/p>\n<p>So the current directive format is:<\/p>\n<pre>&lt;&lt; path &gt;&gt;\n[+]asm: criteria<\/pre>\n<p>For example, you might want directives for a system such as:<\/p>\n<pre>&lt;&lt; \/ &gt;&gt;\n+skip: *.mp3\n\n&lt;&lt; \/home\/academics &gt;&gt;\nforget\n\n&lt;&lt; \/home\/students &gt;&gt;\n+skip: *.mov *.m4v *.wma *.dv<\/pre>\n<p>Now, it could be that for every Unix system, you <em>also<\/em> want to include <em>Unix Standard Directives<\/em>. Currently the only way to do this is to create a new directive where you&#8217;ve copied and pasted in all the Unix Standard Directives then added in your above criteria.<\/p>\n<p>This, to use the appropriate technical term, is a dogs breakfast.<\/p>\n<p>The only logical way, the way which obviously hasn&#8217;t been developed yet for NetWorker but falls into the category of &#8220;<em><strong>why the hell not<\/strong><strong>?<\/strong><\/em>&#8221; would be support for include statements. That way, it could be embedded into the directive itself.<\/p>\n<p>For example, what I&#8217;m talking about is that we should be able to do the following:<\/p>\n<pre>&lt;&lt; \/ &gt;&gt;\ninclude: Unix Standard Directives\n\n&lt;&lt; \/ &gt;&gt;\n+skip: *.mp3\n\n&lt;&lt; \/home\/academics &gt;&gt;\nforget\n\n&lt;&lt; \/home\/students &gt;&gt;\n+skip: *.mov *.m4v *.wma *.dv<\/pre>\n<p>Now wouldn&#8217;t that be nice? Honestly, how hard could it be?<\/p>\n<p>NB: The correct answer to &#8220;how hard could it be?&#8221; is actually <strong><em>&#8220;I don&#8217;t care.&#8221;<\/em><\/strong> That is, there&#8217;s some things that should be done regardless of whether they&#8217;re easy to do.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m a big fan of careful management of directives &#8211; for instance, I always go by the axiom that it&#8217;s&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[16,18],"tags":[325,459],"class_list":["post-927","post","type-post","status-publish","format-standard","hentry","category-networker","category-quibbles","tag-directives","tag-include"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-eX","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/comments?post=927"}],"version-history":[{"count":0,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/927\/revisions"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}