Private GIT

Skip to content
Snippets Groups Projects
Select Git revision
  • 2f36b624d95f90fe274f0e5da740b187d0dc9dd8
  • master default protected
  • MON-2693-new-menu
  • php7-migration
  • poc-redis
  • security-fix-virtual-metrics-sql
  • security-fix-reporting
  • security-fix-menu-username
  • security-fix-export-graph
  • security-fix-metrics-injection
  • security-fix-virtual-metrics
  • security-fix-curves-templates
  • security-fix-command-form
  • security-fix-administration-logs
  • clapi_filter
  • MON2733-C2_Security_fix
  • new-header-2.8.x
  • MON-2725-ldap-passwords
  • 2.8.x
  • 6073-fix-view-contact-notifications
  • MON2703-new-api-menu
  • 2.8.23
  • 2.8.22
  • 2.8.21
  • 2.8.20
  • 2.8.19
  • 2.8.18
  • 2.8.17
  • 2.8.216
  • 2.8.16
  • 2.7.13
  • 2.8.15
  • help
  • 2.8.14
  • 2.8.13
  • 2.8.12
  • 2.7.12
  • 2.8.11
  • 2.8.10
  • 2.8.10-release
  • 2.8.9
41 results

nightly_tasks_manager

Blame
  • user avatar
    Sylvestre Ho authored
    2f36b624
    History
    nightly_tasks_manager 912 B
    #!/usr/bin/env perl
    
    use warnings;
    use strict;
    use Getopt::Long;
    use FindBin qw($Bin);
    use lib "$Bin/../lib/perl";
    use centreon::common::logger;
    
    use vars qw(@jobs);
    my $logger = centreon::common::logger->new();
    
    sub run_task {
        my ($name) = @_;
    
        if ($name[0] ne '/') {
            $name = "$Bin/../$name";
        }
        $logger->writeLogInfo("$name: start");
        my $output = qx|$name 2>&1|;
    
        ($? || !defined $output)
          ? $logger->writeLogError("Unexpected end!\n$output")
          : $logger->writeLogInfo($output, withdate => 0);
        $logger->writeLogInfo("$name: stop");
    }
    
    =head1 main program
    
    Main program starts here.
    
    =cut
    
    my $cfgfile = "/etc/centreon/nightly_tasks.pm";
    my $logfile = "/tmp/$0.log";
    my $result = GetOptions("config=s" => \$cfgfile,
                            "logfile=s" => \$logfile);
    
    require $cfgfile;
    
    $logger->file_mode($logfile);
    foreach my $task (@jobs) {
        run_task($task);
    }