Script per spegnere la macchina quando manca corrente

Visto che il software allegato all' ups usa tomcat ed è pesantissimo ho deciso di scrivere un piccolo script per spegnere la macchimna quando il router non è presente, perchè non alimentato dall' ups.


 

#!/bin/bash

while true
do
spegni=0


#tempo fra un ping e l'altro

sleep 60

    



# numero di tentativi se il ping fallisce  
   
 while [ "$spegni" -le "3" ]
	do


#indirizzo ip del router
	
		if ping -c 1 192.168.1.1 1>/dev/null 2>&1
		
		then
		break
		
		else
		
		spegni=$[$spegni+1]

#tempo fra i tentativi
		sleep 4
		

		fi
	done	

	if (( "$spegni" > 3 ))
	then
	xmessage -timeout 5 -center -buttons spegni,continua Spegnere?
	
	if [ "$?" -le "101" ]
	then
	xmessage -center spegnimento &
	dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
        /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
		    
	fi    
	fi
done


 

Questo script fa un ping ogni 60 secondi al router, se non risponde ritenta 2 volte distanziate 4 secondi, se non riceve risposta visualizza una finestra che chiede se spegnere la macchina o continuare a tenerla accesa.
Se non viene premuto il tasto per mantenerla accesa entro 5 secondi, la macchina inizia il processo di spegnimento.

Lo script può essere fatto partire come utente, non è necessario essere root.

Commenti

Lascia un commento

Nome
Commenti
Captcha
9 diviso 1 uguale