Stale Files Macro
The stale_files_alarms_macros.cfg is a script macro to report stale, or unchanged, files.
stale_files(DIR, FILTYP, TYP, EXT, DAYS, BYPASS1, BYPASS2) init status =piktstatus level =piktlevel task "Report any stale (FILTYP) files" // currently, only show files more than d+1 days old; // for finer granularity, with precision to hours or minutes, // we would have to code a much more complex script input proc "=find (DIR) (TYP) -name \\*.(EXT) -mtime +(DAYS) -exec ls -ld {} \\; 2>/dev/null" rule if $inline =~~ "(BYPASS1)" next endif rule if $inline !~~ "(BYPASS2)" output mail $inlin endif end quit
You might invoke the =stale_files() macro in your alarms.cfg file thusly:
/////////////////////////////////////////////////////////////////////////////// // // admin_pikt_alarms.cfg // /////////////////////////////////////////////////////////////////////////////// StalePIKTLockFiles =stale_files(=etcdir, PIKT lock, -type f, lock, 0, piktd\\\\.lock|piktc_svc\\\\.lock, =nonesuch) /////////////////////////////////////////////////////////////////////////////// StalePIKTLogFiles =stale_files(=logdir, PIKT log, -type f, log, 0, piktc_svc\\\\.log|piktc\\\\.log|piktx\\\\.log, syslog| red|scriptchange|acmeprocess|test|downsystems|downrpc| sysreboots|scandmesg|scansyslogcritical|scansyslogkernel| scriptchanges|loadaverages|processes|zombies| runaway|lpchk|checkpoint|dmesgscan|nightlyupdates) /////////////////////////////////////////////////////////////////////////////// StalePIKTHstFiles =stale_files(=hstdir, PIKT hst, -type f, hst, 0, =nonesuch, acmeprocess|test|downsystems|downrpc|sysreboots| scandmesg|scansyslogcritical|scansyslogkernel| scriptchanges|loadaverages|processes|zombies| runaway|debug) ///////////////////////////////////////////////////////////////////////////////
Output from the StalePIKTLogFiles script might look like, for example:
DEBUG: StalePIKTLogFiles Report any stale PIKT log files -rw------- 1 root root 1235127 Sep 10 18:29 /pikt/var/log/SysAdminsCritical.log -rw------- 1 root root 589075 Sep 10 18:02 /pikt/var/log/CodersCritical.log -rw------- 1 root root 934608 Sep 10 17:17 /pikt/var/log/SysAdminsUrgent.log -rw------- 1 root root 164849 Sep 10 20:31 /pikt/var/log/CodersNotice.log -rw------- 1 root root 27896 Sep 10 21:38 /pikt/var/log/CodersWarning.log -rw------- 1 root root 28250 Sep 10 21:20 /pikt/var/log/SysAdminsWarning.log -rw------- 1 root root 911754 Sep 10 22:34 /pikt/var/log/PiktAdminInfo.log
For more examples, see Samples.