bart_rules man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]


       bart_rules - bart rules file

       The  bart_rules	file  is a text file that is used by the bart(1M) com‐
       mand. The rules file determines which files to validate and which  file
       attributes of those files to ignore.

       Some  lines  are ignored by the manifest comparison tool. Ignored lines
       include blank lines, lines that consist only of white space,  and  com‐
       ments that begin with #.

       The  rules file supports three directives: CHECK, IGNORE, and a subtree
       directive, which is an absolute path name and optional pattern matching
       modifiers. Each CHECK, IGNORE, and subtree directive must be on a sepa‐
       rate line. Bart supports continuation of long lines using  a  backslash
       (\). The rules file uses the directives to create logical blocks.

       The syntax for the rules file is as follows:

	 [IGNORE attribute...]*
	 [CHECK] [attribute...]*

	 subtree1 [pattern...]*
	 [IGNORE attribute...]*
	 [CHECK] [attribute...]*

	 subtree2 [pattern...]*
	 subtree3 [pattern...]*
	 subtree4 [pattern...]*
	 [IGNORE attribute...]*
	 [CHECK] [attribute...]*

   Rule Blocks
       Rule blocks are composed of statements that are created by using direc‐
       tives and arguments.

       There are three types of blocks:

       Global Block
		       The first block in the file. The	 block	is  considered
		       ``global'' if it specifies CHECK and IGNORE statements,
		       but no previous subtree statement. A global block  per‐
		       tains to all subsequent blocks.

       Local block
		       A  block	 that specifies CHECK and IGNORE statements as
		       well as a subtree directive. The rules  in  this	 block
		       pertain to files and directories found in the specified

       Heir block
		       A block that contains a null CHECK statement, no	 argu‐
		       ments.  This block inherits the global CHECK statements
		       and IGNORE statements.

       The order in which CHECK and IGNORE  statements	appear	in  blocks  is
       important.  The	bart  command processes CHECK and IGNORE statements in
       the order in which they are read, with later statements overriding ear‐
       lier statements.

       Subtree	specifications	must  appear  one per line. Each specification
       must begin with an absolute path name. Optionally,  each	 specification
       can be followed by pattern-matching arguments.

       When  a	file  system  being  tracked  belongs to more than one subtree
       directive, bart performs the following resolution steps:

	   o	  Applies the CHECK and IGNORE statements set  in  the	global
		  block.   Note	 that all CHECK and IGNORE statements are pro‐
		  cessed in order.

	   o	  Finds the last subtree directive that matches the file.

	   o	  Processes the CHECK and IGNORE statements that belong to the
		  last	matching  subtree directive. These statements are pro‐
		  cessed in the order  in  which  they	are  read,  overriding
		  global settings.

   Pattern Matching Statements
       There are two types of pattern matching statements

	      For  a  given subtree directive, all pattern matching statements
	      are logically ANDed with the subtree. Patterns have the  follow‐
	      ing syntax:

		  o	 Wildcards are permitted for both the subtree and pat‐
			 tern matching statements.

		  o	 The exclamation point (!) character represents	 logi‐
			 cal NOT.

		  o	 A  pattern that terminates with a slash is a subtree.
			 The absence of a slash indicates that the pattern  is
			 not  a directory. The subtree itself does not require
			 an end slash.
	      For example, the following subtree example includes the contents
	      of  /home/nickiso/src  except  for object files, core files, and
	      all of the SCCS subtrees. Note that directory names that	termi‐
	      nate with .o and directories named core are not excluded because
	      the patterns specified do not terminate with /.

		/home/nickiso/src !*.o !core !SCCS/
		CHECK  all

	      Group multiple subtree directives together. Such subtree	direc‐
	      tives are logically ORed together.

		/home/nickiso/src !*.o !core
		/home/nickiso/docs *.sdw
		CHECK	all
		IGNORE	mtime lnmtime dirmtime

	      The files included in the previous example are as follows:

		  o	 Everything under /home/nickiso/src except for *.o and
			 core files

		  o	 Everything under /home/nickiso/Mail

		  o	 All files under /home/nickiso/docs that end in *.sdw
	      For these files, all attributes are checked except for modifica‐
	      tion times.

   File Attributes
       The  bart  command  uses	 CHECK	and  IGNORE statements to define which
       attributes to track or ignore. Each attribute has  an  associated  key‐

       The attribute keywords are as follows:

		   ACL	 attributes   for  the	file.  For  a  file  with  ACL
		   attributes, this field  contains  the  output  from	aclto‐

		   All attributes.

		   Checksum  value  of the file. This attribute is only speci‐
		   fied for regular files.  If you turn off  context  checking
		   or if checksums cannot be computed, the value of this field
		   is -.

		   Destination of a symbolic link.

		   Value of the device node. This attribute is	for  character
		   device files and block device files only.

		   Modification time in seconds since 00:00:00 UTC, January 1,
		   1970 for directories.

		   Numerical group ID of the owner of this entry.

		   Creation time for links.

		   Octal number that represents the permissions of the file.

		   Modification time in seconds since 00:00:00 UTC, January 1,
		   1970 for files.

		   File size in bytes.

		   Type of file.

		   Numerical user ID of the owner of this entry.

       Example 1 Sample Rules File

       The following is a sample rules file:

	 # Global rules, track everything except dirmtime.
	 CHECK	 all
	 IGNORE	 dirmtime

	 # The files in /data* are expected to change, so don't bother
	 # tracking the attributes expected to change.
	 # Furthermore, by specifying ``IGNORE contents,'' you save
	 # time and resources.
	 IGNORE	 contents mtime size

	 /home/nickiso f* bar/
	 IGNORE	 acl

	 # For /usr, apply the global rules.

	 # Note: Since /usr/tmp follows the /usr block, the /usr/tmp
	 # subtree is subjected to the ``IGNORE all.''
	 /home/nickiso *.o
	 /home/nickiso core
	 IGNORE	 all

       The following files are cataloged based on the sample rules file:

	   o	  All  attributes,  except for dirmtime, mtime, size, and con‐
		  tents, are tracked for files under the /data* subtrees.

	   o	  Files under the /usr subtree, except for /usr/tmp, are cata‐
		  loged by using the global rules.

	   o	  If  the  /home/nickiso/foo.c	file  exists,  its attributes,
		  except for acl and dirmtime, are cataloged.

	   o	  All .o and core files under /home/nickiso, as	 well  as  the
		  /home/nickiso/proto and /usr/tmp subtrees, are ignored.

	   o	  If  the  /home/nickiso/bar/foo.o  file exists, it is ignored
		  because it is subject to the last block.

       bart(1M), bart_manifest(4), attributes(5)

				  Sep 9, 2003			 BART_RULES(4)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net