#!/bin/sh VER=1.5 # ============================================================================ # # Copyright (C) THALES. All rights reserved # Author: Jean-Noel Raguenes # Date : 07/12/2009 # - V1.1: Herve Petit 10/03/2010 # reprise de la commande recuperation des @mac et @broadcast pour prendre # en compte le fait que l'interface eth1 a ete configuree # - V1.2: Thomas Perennou 25/03/2013 # Adaptation Wheezy et simplification des recuperation des adresses mac # et de broadcast # - V1.4: Laurent Mazet 09/05/2014 # Daemonisation # - V1.5: Laurent Mazet & Thomas Perennou 03/12/2014 # Legers correctifs # ============================================================================ ### BEGIN INIT INFO # Provides: wakeonlan # Required-Start: $network waitswitches # Required-Stop: # Should-Start: # Default-Start: S # Default-Stop: # Short-Description: WOL cluster blades # Description: Boot all cluster blades by WakeOnLan protocol ### END INIT INFO DHCPCONF=/etc/dhcp/dhcpd.conf ENABLE="yes" PATH=/sbin:/usr/sbin:/bin:/usr/bin [ -f /etc/default/wakeonlan ] && . /etc/default/wakeonlan [ "$ENABLE" = "yes" ] || exit 0 . /lib/lsb/init-functions do_start () { log_action_msg "Activate Wake On Lan" for mac in $(awk '{sub(/#.*/, "")} /host\s+trc[0-9]/ { gsub(/[;{}]/, " "); print $5}' $DHCPCONF); do broadcast=$(awk '{sub(/#.*/, "")} /'$mac'/ {print}' $DHCPCONF | sed 's/.* \([0-9.]*\)\..*/\1.255/') host=$(awk '{sub(/#.*/, "")} /'$mac'/ {gsub(/[{}]/, " "); print $2}' $DHCPCONF) log_action_msg "Wake-up $host (WOL $mac $broadcast)" wakeonlan -p 7 -i $broadcast $mac done } case "$1" in -v) echo "$(basename $0), version $VER" ;; start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) # No-op ;; *) echo "Usage: $0 start|stop" >&2 exit 3 ;; esac # vim:set tabstop=4 expandtab shiftwidth=4: