Net-FullAuto
view release on metacpan or search on metacpan
lib/Net/FullAuto.pm view on Meta::CPAN
$_ =~ '--cat') {
$quiet=1;
}
$args.="$_ ";
} chop $args;
my $nl=(grep { $_ eq '--cron' } @ARGV)?'':"\n";
print "Command Line -> $0 $args\n" if !$nl;
my $c=($^O ne 'MSWin32' && $^O ne 'MSWin64' && $^O ne 'cygwin' && !exists
$ENV{PAR_TEMP})?'©':'(C)';
print "STARTING FullAuto$c on ". localtime() . "\n"
if !$quiet && (-1<index $0,'fullauto.pl');
our $toppath='';our $cpu='';
$main::planarg||='';$main::cronarg||='';
if ($main::planarg || $main::cronarg) {
if (-e '/usr/bin/top') {
$toppath='/usr/bin/';
} elsif (-e '/bin/top') {
$toppath='/bin/';
} elsif (-e '/usr/local/bin/top') {
$toppath='/usr/local/bin/';
}
if ($toppath) {
my $top_timeout=60;
eval {
$SIG{ALRM} = sub { die "alarm\n" }; # \n required
alarm($top_timeout);
&Net::FullAuto::FA_Core::acquire_semaphore(1111,
"Top CPU check Timed Out at Line: ".__LINE__);
open(OH,"${toppath}top -b -n2 -d.1|") ||
die "Cannot run ${toppath}top -b -n2 -d.1`: $!\n";
while (my $line=<OH>) {
chomp $line;
$cpu=$line if -1<index $line,"idle";
}
close OH;
&Net::FullAuto::FA_Core::release_semaphore(1111);
alarm(0);
};
if ($@ eq "alarm\n") {
print "\n\n";
&handle_error(
"Time for Top CPU check has Expired.",
'__cleanup__');
}
}
}
}
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(fa_login connect_ssh connect_sftp connect_secure cleanup
connect_ftp connect_telnet connect_shell acquire_fa_lock
release_fa_lock send_email ls_parse fetch log %Hosts
clean_filehandle handle_error get_hosts);
use Term::Menus 2.54;
use Tie::Cache;
use Sort::Versions;
use Crypt::CBC;
use Crypt::DES;
use JSON;
use URI;
use HTTP::Date;
use Capture::Tiny;
use Net::Telnet;
use Email::Sender;
use MIME::Entity;
use IO::Pty;
use BerkeleyDB;
sub get_hosts
{
package get_hosts;
use Net::FullAuto::FA_Core;
return %Net::FullAuto::FA_Core::Hosts;
}
sub fa_login
{
return &Term::Menus::fa_login(@_);
}
sub connect_ssh
{
package connect_ssh;
use Net::FullAuto::FA_Core;
return Net::FullAuto::FA_Core::connect_ssh(@_);
}
sub connect_shell
{
package connect_shell;
use Net::FullAuto::FA_Core;
return Net::FullAuto::FA_Core::connect_shell(@_);
}
sub connect_sftp
{
package connect_sftp;
use Net::FullAuto::FA_Core;
return Net::FullAuto::FA_Core::connect_sftp(@_);
}
sub connect_secure
{
package connect_secure;
use Net::FullAuto::FA_Core;
return Net::FullAuto::FA_Core::connect_secure(@_);
}
sub connect_ftp
{
package connect_ftp;
use Net::FullAuto::FA_Core;
return Net::FullAuto::FA_Core::connect_ftp(@_);
}
sub connect_telnet
{
package connect_telnet;
( run in 1.223 second using v1.01-cache-2.11-cpan-39bf76dae61 )