summaryrefslogtreecommitdiffstats
path: root/scripts/perl/botproc.pl
diff options
context:
space:
mode:
authorGeorg2021-07-21 13:47:29 +0200
committerGeorg2021-07-21 13:47:29 +0200
commit31c0d40071ce40272beb6d2ff7408c707ce64847 (patch)
treef66b33587d4f52f5ed669a41a23273bc55edd3b8 /scripts/perl/botproc.pl
parent28cefabe617a2cb32e7efcc1f283a5f24dd5cb69 (diff)
downloadsystem-31c0d40071ce40272beb6d2ff7408c707ce64847.tar.gz
system-31c0d40071ce40272beb6d2ff7408c707ce64847.tar.bz2
system-31c0d40071ce40272beb6d2ff7408c707ce64847.zip
Initial Scripts Run
Signed-off-by: Georg <georg@lysergic.dev>
Diffstat (limited to 'scripts/perl/botproc.pl')
-rw-r--r--scripts/perl/botproc.pl34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/perl/botproc.pl b/scripts/perl/botproc.pl
new file mode 100644
index 0000000..3ea4e9d
--- /dev/null
+++ b/scripts/perl/botproc.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+
+# Work in progress.
+# Requires botproc.ini.
+
+use Config::Tiny;
+use Net::OpenSSH;
+use warnings;
+use strict;
+#use feature qw(say);
+
+my $config = Config::Tiny->new;
+$config = Config::Tiny->read( 'botproc.ini' );
+
+foreach my $section (keys %{$config}) {
+ my $host = "$section";
+ my $OS = $config->{$section}->{OS};
+ #print 'The OS of ', $host, ' is ', $OS, "\n";
+ my $user = $config->{$section}->{User};
+ my $keyname = $config->{$section}->{Key};
+ my $keypath = "/home/georg/.ssh/" . $keyname;
+ my $port = $config->{$section}->{Port};
+ print 'Connecting to ', $host, ':', $port, ' as ', $user, ' using key ', $keyname, "\n";
+ my $ssh = Net::OpenSSH->new($host, user => $user, port => $port, key_path => $keypath);
+ $ssh->error and
+ die "FATAL: ", $ssh->error;
+ $ssh->system("uname -a") or
+ die "Remote command failed: ", $ssh->error;
+ my ($df, $err) = $ssh->pipe_out("df -h /") or
+ die "df query failed: " . $ssh->error;
+ print "Root Partition:\n";
+ while (<$df>) { print }
+ close $df;
+}