Questo script spegne amule nel caso in cui si accenda un computer con un ip che va dal 192.168.1.10 al 192.168.1.20 e riavvia amule quando nessun computer รจ presente in tale intervallo.
#!/bin/bash
ipmon="192.168.1.10 192.168.1.20"
timer=60
trap bashtrap SIGINT
bashtrap()
{
clear
echo ""
echo " * Kill amule client @" $(date)
sudo blockcontrol stop
echo ""
amulecmd --command=shutdown -q
sleep 10
exit
}
clear
echo ""
echo "Mule Control 1.1 (use CTRL+C to kill process)"
echo ""
echo " * Start amule client @" $(date)
sudo blockcontrol start
echo ""
amule > /dev/null &
while sleep $timer
do
pingalive=$(fping -a -g $ipmon 2> /dev/null)
pidamule=$(ps aux | grep [a]mule)
if [[ -n $pingalive && -n $pidamule ]]
then
clear
echo ""
echo " * Ping warning " $(echo $pingalive) " @" $(date)
echo ""
amulecmd --command=shutdown -q
elif [[ -z $pingalive && -z $pidamule ]]
then
clear
echo ""
echo " * Ping free @" $(date)
echo ""
amule > /dev/null &
fi
done
In caso manchi, installare il pacchetto di ping multiplo con il solito:
sudo aptitude install fping