Subversion Repositories sysadmin_scripts

Rev

Rev 96 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

$config = {
   # if set to non-zero, will write output to /tmp/snapShot instead of executing commands
   'TESTING' => 1,
   # if set to non-zero, sets TESTING to 1, then dumps some information on STDOUT when processing
   'DEBUG' => 0,
   # amount of slop in deciding whether to make a snapshot or not
   'slop' => '2 hour',
   # this is an array reference of the columns in standard zfs list output
   'listingKeys' => [ qw/name used avail refer mountpoint/ ],
   # Information on how to read/create snapshots
   'snapshot' => {
      # template used for creating a snapshot using strftime
      'template' => 'auto-%Y-%m-%d_%H-%M',
      # regex to parse snapshots created above. Only snapshots matching
      # this will be processed
      'parse'    => 'auto-(\d{4})-(\d{2})-(\d{2})_(\d{2})-(\d{2})',
      # Which fields result from parsing above
      'parseFields' => [ qw/year month day hour minute/ ],
   },
   # the datasets we care about
   'datasets' => {
      # this will match storage/nfs_root and all child datasets (recursive)
      'storage\/nfs_root' => {
         'frequency'       => '1 day',
         'retention'       => '7 day',
         'recursive'       => 1
      },
      # simple match for storage/backups
      'storage\/backups' => {
         'frequency'       => '1 day',
         'retention'       => '7 day',
         'recursive'       => 0
      },
      # this would match anything in dataset storage which has a child ending in disk or lvm, where disk may optionally be followed
      # by a single character (disk1, disk0, diska, disk). Note the use of parantheses around the alternating patterns disk and lvm
      'storage\/.*((disk.?)|(lvm))' => {
         'frequency'       => '1 month',
         'retention'       => '7 month',
         'recursive'       => 0
      }
   }
};