snaked
view release on metacpan or search on metacpan
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;
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 )