System Files Disappear
In this example, we report if important system files disappear, or their file sizes shrink to zero.
The SystemFileNotExist script might send an alert message like the following:
PIKT ALERT Mon Feb 25 12:06:05 2002 milan EMERGENCY: SystemFileNotExist Report if system files have disappeared, or been zeroed out /etc/group not found!
SystemFileNotExist makes reference to the =files_system_obj macro, which resolves to the name of the FilesSystem.obj file. The script follows.
SystemFileNotExist init status =piktstatus level =piktlevel task "Report if system files have disappeared, or been zeroed out input file "=files_system_obj" filter "=egrep -iv 'pikt'" // check PIKT files elsewhere dat $name 1 keys $name rule if -e $name // file exists if -z $name // file is zero length set $state = "0" if $state ne %state =daily(output mail "$name zero bytes!", ) endif else set $state = "+" endif else // file does not exist set $state = "-" if $state ne %state =daily(output mail "$name not found!", ) endif endif
This is just one program example. You could add rules, or write new scripts, for example to: report system files that you don't want (such as startup files), report changes in modification times or link counts, report outdated files that should be updating regularly, report and possibly also rm core files, etc.
For more examples, see Samples.