(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 => {
|
||||
'exec-only' => { name => 'exec_only' },
|
||||
'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-end-time:s' => { name => 'filter_end_time', default => 86400 },
|
||||
'filter-start-time:s' => { name => 'filter_start_time' },
|
||||
|
@ -236,24 +238,33 @@ sub manage_selection {
|
|||
$self->{policy} = {};
|
||||
my $current_time = time();
|
||||
foreach my $line (split /\n/, $stdout) {
|
||||
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) =
|
||||
($values[0], $values[1], $values[2], $values[3], $values[4], $values[5], $values[8], $values[10], $values[14], $values[33]);
|
||||
my @values = split(/,/, $line);
|
||||
my $job_id = $values[0];
|
||||
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_status = defined($job_status) && $job_status =~ /[0-9]/ ? $job_status : -1;
|
||||
# when the job is running, end_time = 000000
|
||||
$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 '' &&
|
||||
$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_type}) && $self->{option_results}->{filter_type} ne '' &&
|
||||
$job_type{$job_type} !~ /$self->{option_results}->{filter_type}/) {
|
||||
$self->{output}->output_add(long_msg => "skipping job '" . $job_pname . "/" . $job_id . "': no matching filter type.", debug => 1);
|
||||
next;
|
||||
}
|
||||
next if (defined($self->{option_results}->{filter_policy_name}) && $self->{option_results}->{filter_policy_name} ne '' &&
|
||||
$job_pname !~ /$self->{option_results}->{filter_policy_name}/);
|
||||
next if (defined($self->{option_results}->{filter_client_name}) && $self->{option_results}->{filter_client_name} ne '' &&
|
||||
$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 '' &&
|
||||
$job_server_name !~ /$self->{option_results}->{filter_server_name}/);
|
||||
next if (defined($self->{option_results}->{filter_type}) && $self->{option_results}->{filter_type} ne '' &&
|
||||
$job_type{$job_type} !~ /$self->{option_results}->{filter_type}/);
|
||||
|
||||
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}) {
|
||||
$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).
|
||||
|
||||
=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>
|
||||
|
||||
Filter job type (can be a regexp).
|
||||
|
|
Loading…
Reference in New Issue