snaked

 view release on metacpan or  search on metacpan

snaked  view on Meta::CPAN

use IO::Handle; # autoflush
use Socket; # socketpair
use Fcntl;
use Time::HiRes;
use File::Path;

my $version = $snaked::VERSION;

my ($daemon_regexp_configured, $daemon_match_cfg, $daemon_match_cfg1, $daemon_match_nocfg, $watchdog_match, $watchdog_match1);

my $current_user = getpwuid($<);
my $current_host = `hostname -f` || "";
my $from_address;
if ($current_user && $current_host) {
  $current_host =~ s/[\r\n]//go;
  $from_address = $current_user . '@' . $current_host;
}

my $my_path;
my $my_command_line;
my $watchdogs2maintain = 1;

snaked  view on Meta::CPAN

        Yandex::Tools::die("Directory [$target_dir] exists, not going to overwrite.", {'no_log' => 1});
    }
    File::Path::mkpath($target_dir);
    
    if ($> eq 0) {
        Yandex::Tools::write_file_scalar($target_dir . "/log", "/var/log/snaked.log\n");
        Yandex::Tools::write_file_scalar($target_dir . "/admin_email", "root\n");
    }
    else {
        Yandex::Tools::write_file_scalar($target_dir . "/log", "/tmp/snaked.log\n");
        Yandex::Tools::write_file_scalar($target_dir . "/admin_email", getpwuid($>) . "\n");
    }

    File::Path::mkpath($target_dir . "/jobs/every_hour");
    Yandex::Tools::write_file_scalar($target_dir . "/jobs/every_hour/execution_schedule", "0 * * * *\n");
    Yandex::Tools::write_file_scalar($target_dir . "/jobs/every_hour/cmd", "uptime >> /tmp/snaked_every_hour\n");
    chmod(0755, $target_dir . "/jobs/every_hour/cmd") || Yandex::Tools::die("Unable to set permissions on [" . $target_dir . "/jobs/every_hour/cmd" . "]", {'no_log' => 1});

    File::Path::mkpath($target_dir . "/jobs/every_ten_seconds");
    Yandex::Tools::write_file_scalar($target_dir . "/jobs/every_ten_seconds/execution_interval", "10\n");
    Yandex::Tools::write_file_scalar($target_dir . "/jobs/every_ten_seconds/cmd", "uptime >> /tmp/snaked_every_ten_seconds\nsleep 2\n");



( run in 0.232 second using v1.01-cache-2.11-cpan-454fe037f31 )