mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-27 07:34:35 +02:00
(plugin) apps::backup::netbackup::local - mode jobs add filter options (#3839)
This commit is contained in:
parent
542aafb689
commit
fc8abffafa
@ -172,6 +172,8 @@ sub new {
|
|||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
'exec-only' => { name => 'exec_only' },
|
'exec-only' => { name => 'exec_only' },
|
||||||
'filter-policy-name:s' => { name => 'filter_policy_name' },
|
'filter-policy-name:s' => { name => 'filter_policy_name' },
|
||||||
|
'filter-client-name:s' => { name => 'filter_client_name' },
|
||||||
|
'filter-server-name:s' => { name => 'filter_server_name' },
|
||||||
'filter-type:s' => { name => 'filter_type' },
|
'filter-type:s' => { name => 'filter_type' },
|
||||||
'filter-end-time:s' => { name => 'filter_end_time', default => 86400 },
|
'filter-end-time:s' => { name => 'filter_end_time', default => 86400 },
|
||||||
'filter-start-time:s' => { name => 'filter_start_time' },
|
'filter-start-time:s' => { name => 'filter_start_time' },
|
||||||
@ -236,24 +238,33 @@ sub manage_selection {
|
|||||||
$self->{policy} = {};
|
$self->{policy} = {};
|
||||||
my $current_time = time();
|
my $current_time = time();
|
||||||
foreach my $line (split /\n/, $stdout) {
|
foreach my $line (split /\n/, $stdout) {
|
||||||
my @values = split /,/, $line;
|
my @values = split(/,/, $line);
|
||||||
my ($job_id, $job_type, $job_state, $job_status, $job_pname, $job_schedule, $job_start_time, $job_end_time, $job_kb, $job_parentid) =
|
my $job_id = $values[0];
|
||||||
($values[0], $values[1], $values[2], $values[3], $values[4], $values[5], $values[8], $values[10], $values[14], $values[33]);
|
my $job_type = $values[1];
|
||||||
|
my $job_state = $values[2];
|
||||||
|
my $job_status = $values[3];
|
||||||
|
my $job_pname = $values[4];
|
||||||
|
my $job_schedule = $values[5];
|
||||||
|
my $job_client_name = $values[6];
|
||||||
|
my $job_server_name = $values[7];
|
||||||
|
my $job_start_time = $values[8];
|
||||||
|
my $job_end_time = $values[10];
|
||||||
|
my $job_kb = $values[14];
|
||||||
|
my $job_parentid = $values[33];
|
||||||
|
|
||||||
$job_pname = defined($job_pname) && $job_pname ne '' ? $job_pname : 'unknown';
|
$job_pname = defined($job_pname) && $job_pname ne '' ? $job_pname : 'unknown';
|
||||||
$job_status = defined($job_status) && $job_status =~ /[0-9]/ ? $job_status : -1;
|
$job_status = defined($job_status) && $job_status =~ /[0-9]/ ? $job_status : -1;
|
||||||
# when the job is running, end_time = 000000
|
# when the job is running, end_time = 000000
|
||||||
$job_end_time = undef if (defined($job_end_time) && int($job_end_time) == 0);
|
$job_end_time = undef if (defined($job_end_time) && int($job_end_time) == 0);
|
||||||
if (defined($self->{option_results}->{filter_policy_name}) && $self->{option_results}->{filter_policy_name} ne '' &&
|
next if (defined($self->{option_results}->{filter_policy_name}) && $self->{option_results}->{filter_policy_name} ne '' &&
|
||||||
$job_pname !~ /$self->{option_results}->{filter_policy_name}/) {
|
$job_pname !~ /$self->{option_results}->{filter_policy_name}/);
|
||||||
$self->{output}->output_add(long_msg => "skipping job '" . $job_pname . "/" . $job_id . "': no matching filter.", debug => 1);
|
next if (defined($self->{option_results}->{filter_client_name}) && $self->{option_results}->{filter_client_name} ne '' &&
|
||||||
next;
|
$job_client_name !~ /$self->{option_results}->{filter_client_name}/);
|
||||||
}
|
next if (defined($self->{option_results}->{filter_server_name}) && $self->{option_results}->{filter_server_name} ne '' &&
|
||||||
if (defined($self->{option_results}->{filter_type}) && $self->{option_results}->{filter_type} ne '' &&
|
$job_server_name !~ /$self->{option_results}->{filter_server_name}/);
|
||||||
$job_type{$job_type} !~ /$self->{option_results}->{filter_type}/) {
|
next if (defined($self->{option_results}->{filter_type}) && $self->{option_results}->{filter_type} ne '' &&
|
||||||
$self->{output}->output_add(long_msg => "skipping job '" . $job_pname . "/" . $job_id . "': no matching filter type.", debug => 1);
|
$job_type{$job_type} !~ /$self->{option_results}->{filter_type}/);
|
||||||
next;
|
|
||||||
}
|
|
||||||
if (defined($self->{option_results}->{filter_end_time}) && $self->{option_results}->{filter_end_time} =~ /[0-9]+/ &&
|
if (defined($self->{option_results}->{filter_end_time}) && $self->{option_results}->{filter_end_time} =~ /[0-9]+/ &&
|
||||||
defined($job_end_time) && $job_end_time =~ /[0-9]+/ && $job_end_time < $current_time - $self->{option_results}->{filter_end_time}) {
|
defined($job_end_time) && $job_end_time =~ /[0-9]+/ && $job_end_time < $current_time - $self->{option_results}->{filter_end_time}) {
|
||||||
$self->{output}->output_add(long_msg => "skipping job '" . $job_pname . "/" . $job_id . "': end time too old.", debug => 1);
|
$self->{output}->output_add(long_msg => "skipping job '" . $job_pname . "/" . $job_id . "': end time too old.", debug => 1);
|
||||||
@ -302,6 +313,14 @@ Print command output
|
|||||||
|
|
||||||
Filter job policy name (can be a regexp).
|
Filter job policy name (can be a regexp).
|
||||||
|
|
||||||
|
=item B<--filter-client-name>
|
||||||
|
|
||||||
|
Filter jobs by client name (can be a regexp).
|
||||||
|
|
||||||
|
=item B<--filter-server-name>
|
||||||
|
|
||||||
|
Filter jobs by server name (can be a regexp).
|
||||||
|
|
||||||
=item B<--filter-type>
|
=item B<--filter-type>
|
||||||
|
|
||||||
Filter job type (can be a regexp).
|
Filter job type (can be a regexp).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user