# # Just bodies and editbundles here # body perms p(user,mode) { owners => { "$(user)" }; mode => "$(mode)"; } ############################################ body depth_search recurse(d) { depth => "$(d)"; } ######################################################### body delete tidy { dirlinks => "delete"; #keep/tidy/delete rmdirs => "true"; #none/all/sub } ######################################################### body file_select days_old(days) # # we can build old "include", "exclude", and "ignore" # from these as standard patterns - these bodies can # form a library of standard patterns # { mtime => irange(ago(1,0,0,0,0,0),ago(0,0,$(days),0,0,0)); file_result => "mtime"; } ######################################################### body changes lay_trip_wire { hash => "best"; report_changes => "content"; update_hashes => "yes"; } ######################################################## body action longjob { ifelapsed => "240"; # run only every 4 hours } ####################################################### # For the library ####################################################### body edit_defaults def { empty_file_before_editing => "false"; edit_backup => "false"; max_file_size => "100000"; } ######################################################## body location start { # If not line to match, applies to whole text body before_after => "before"; } ######################################################## bundle edit_line DeleteLinesMatching(regex) { delete_lines: "$(regex)", action => WarnOnly; } ######################################################## body action WarnOnly { action_policy => "warn"; ifelapsed => "60"; } ######################################################## bundle edit_line upgrade_cfexecd { classes: "exec_fix" not => regline(".*cf-execd.*","$(edit.filename)"); insert_lines: exec_fix:: "0,5,10,15,20,25,30,35,40,45,50,55 * * * * /var/cfengine/bin/cf-execd -F"; replace_patterns: "cfexecd" replace_with => With("cf-execd"); reports: exec_fix:: "Added a 5 minute schedule to crontabs"; } ######################################## # Bodies ######################################## body replace_with With(x) { replace_value => "$(x)"; occurrences => "all"; } ######################################## body copy_from scp(from,server) { source => "$(from)"; compare => "digest"; encrypt => "true"; verify => "true"; }