#!/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 $event = $ARGV[0]; defined $ARGV[1] || die "No host specified"; my $host = $ARGV[1]; wake_host($host); exit 0; sub wake_host { my ($hostName) = @_; #------------------------------------------------------------ # Wake up the host #------------------------------------------------------------ my $h = $db_hosts->get($hostName) or die "No host record for $hostName"; my $client = $h[0]; my $mac = $client->prop('MacAddress'); system("/sbin/ether-wake -b -i lan0 $mac") == 0 or die "Error waking up $hostName"; }