libreschool-client-manager/root/etc/e-smith/events/actions/client-reboot-all

22 lines
551 B
Perl
Executable File

#!/usr/bin/perl -w
package esmith;
use strict;
use Errno;
use esmith::DB::db;
use IO::File;
use English;
my $db_hosts = esmith::DB::db->open('hosts') || die("Could not open e-smith db (" . esmith::DB::db->error . ")\n");
my @items = $db_hosts->get_all('local');
foreach my $item (@items) {
my $hostName = $item->key;
my $user = $item->prop('sshUser') || 'amgmt';
system("/usr/bin/sudo -u amgmt /usr/bin/ssh -o StrictHostKeyChecking=no $user\@$hostName /usr/bin/sudo /sbin/reboot &") == 0
or die "Error rebooting $hostName";
}
exit 0;