mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

- policy/ renamed to scripts/ - By default BROPATH now contains: - scripts/ - scripts/policy - scripts/site - *Nearly* all tests pass. - All of scripts/base/ is loaded by main.cc - Can be disabled by setting $BRO_NO_BASE_SCRIPTS - Scripts in scripts/base/ don't use relative path loading to ease use of BRO_NO_BASE_SCRIPTS (to copy and paste that script). - The scripts in scripts/base/protocols/ only (or soon will only) do logging and state building. - The scripts in scripts/base/frameworks/ add functionality without causing any additional overhead. - All "detection" activity happens through scripts in scripts/policy/. - Communications framework modified temporarily to need an environment variable to actually enable (ENABLE_COMMUNICATION=1) - This is so the communications framework can be loaded as part of the base without causing trouble when it's not needed. - This will be removed once a resolution to ticket #540 is reached.
37 lines
992 B
Text
37 lines
992 B
Text
##! Deletes the -w tracefile at regular intervals and starts a new file
|
|
##! from scratch.
|
|
|
|
module TrimTraceFile;
|
|
|
|
export {
|
|
## The interval between times that the output tracefile is rotated.
|
|
const trim_interval = 10 mins &redef;
|
|
|
|
## This event can be generated externally to this script if on-demand
|
|
## tracefile rotation is required with the caveat that the script doesn't
|
|
## currently attempt to get back on schedule automatically and the next
|
|
## trim will likely won't happen on the :bro:id:`trim_interval`.
|
|
global go: event(first_trim: bool);
|
|
}
|
|
|
|
event TrimTraceFile::go(first_trim: bool)
|
|
{
|
|
if ( bro_is_terminating() || trace_output_file == "" )
|
|
return;
|
|
|
|
if ( ! first_trim )
|
|
{
|
|
local info = rotate_file_by_name(trace_output_file);
|
|
if ( info$old_name != "" )
|
|
system(fmt("/bin/rm %s", info$new_name));
|
|
}
|
|
|
|
schedule trim_interval { TrimTraceFile::go(F) };
|
|
}
|
|
|
|
event bro_init()
|
|
{
|
|
if ( trim_interval > 0 secs )
|
|
schedule trim_interval { TrimTraceFile::go(T) };
|
|
}
|
|
|