Thanks Mikail, Posting finished promise just in case anyone else is trying to do similar. Comments on improvement welcome.
Cheers body common control { bundlesequence => { "sys_cleanup" }; inputs => { "cfengine_stdlib.cf" }; } bundle agent sys_cleanup { vars: redhat:: #Keep 7 copies of /var/log/wtmp rotate everyday "rtf[wtmp]" string => "/var/log"; "rr[wtmp]" string => "7"; "rd[wtmp]" string => "cfengine_3"; aix:: #Keep 7 copies of /var/adm/wtmp rotate everyday "rtf[wtmp]" string => "/var/adm"; "rr[wtmp]" string => "7"; "rd[wtmp]" string => "cfengine_3"; any:: ################### #Rotated Targets ################### #Keep 31 copies of /var/tsm/dsmsched.log rotate everyday "rtf[dsmsched.log]" string => "/var/tsm"; "rr[dsmsched.log]" string => "31"; "rd[dsmsched.log]" string => "cfengine_3"; #Keep 4 copies of /var/adm/sulog rotate Sunday "rtf[sulog]" string => "/var/adm"; "rr[sulog]" string => "4"; "rd[sulog]" string => "Sunday"; #Keep 4 copies of /var/adm/sudo.log rotate Sunday "rtf[sudo.log]" string => "/var/adm"; "rr[sudo.log]" string => "4"; "rd[sudo.log]" string => "Sunday"; #Keep 14 copies of /var/adm/cron/log rotate everyday "rtf[log]" string => "/var/adm/cron"; "rr[log]" string => "14"; "rd[log]" string => "cfengine_3"; #Keep 14 copies of /var/log/cron rotate everyday "rtf[cron]" string => "/var/log"; "rr[cron]" string => "14"; "rd[cron]" string => "cfengine_3"; #Keep 4 copies of /etc/security/failedlogin rotate Sunday "rtf[failedlogin]" string => "/etc/security"; "rr[failedlogin]" string => "4"; "rd[failedlogin]" string => "Sunday"; ################## #Cleaned Targets ################## #Keep 14 days of /app_logs clean everyday "ctd[/app_logs/]" string => "inf"; "cr[/app_logs/]" string => "14"; "cd[/app_logs/]" string => "cfengine_3"; "creg[/app_logs/]" string => ".*"; #Keep 7 days of any files under /app_logs/.*/tmp clean everyday "ctd[/app_logs/.*/tmp/]" string => "inf"; "cr[/app_logs/.*/tmp/]" string => "7"; "cd[/app_logs/.*/tmp/]" string => "cfengine_3"; "creg[/app_logs/.*/tmp/]" string => ".*"; #Keep 31 days of any files under /var/log/*.nmon clean everyday "ctd[/var/log/stats/]" string => "0"; "cr[/var/log/stats/]" string => "31"; "cd[/var/log/stats/]" string => "cfengine_3"; "creg[/var/log/stats/]" string => ".*.nmon"; #Generate Indicies of file / dir names to rotate / clean "rfn" slist => getindices("rtf"); "cdn" slist => getindices("ctd"); files: "$(rtf[$(rfn)])/$(rfn)" comment => "Rotate files in rtf (rotated_target_files), rr (rotated_retention), rd (day to perform rotate), location of file on string rtf", rename => rotate("$(rr[$(rfn)])"), ifvarclass => canonify("$(rd[$(rfn)])"), action => log; "$(cdn)" comment => "Delete files in ctd (cleaned_target_directory), recursively if set on string ctd (0,1,2..inf), cd (day to perform clean), creg (regex to match files too)", delete => tidy_keep_dirs, file_select => plain_filename_days_old("$(cr[$(cdn)])","$(creg[$(cdn)])"), depth_search => recurse("$(ctd[$(cdn)])"), ifvarclass => canonify("$(cd[$(cdn)])"), action => log; commands: "/bin/gzip $(rtf[$(rfn)])/$(rfn).* >/dev/null 2>&1" comment => "Gzip rotated log files", contain => in_shell; } body delete tidy_keep_dirs { dirlinks => "keep"; rmdirs => "false"; } body file_select plain_filename_days_old(days,name) { mtime => irange(0,ago(0,0,"$(days)",0,0,0)); leaf_name => { "$(name)" }; file_types => { "plain" }; file_result => "mtime.file_types.leaf_name"; } body action log { log_level => "inform"; } -----Original Message----- From: help-cfengine-boun...@cfengine.org [mailto:help-cfengine-boun...@cfengine.org] On Behalf Of Mikhail Gusarov Sent: Wednesday, 18 May 2011 4:08 PM To: help-cfengine@cfengine.org Subject: Re: regex problem - version 3.1.4 On 18.05.2011 01:18, Jones, Stephen (MAS) wrote: > commands: > > "/bin/gzip /var/adm/$(rotate_daily_var_adm).*" contain => shellcommand; > } body contain shellcommand { useshell => "yes"; } -- Mikhail Gusarov _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine