Escolar Documentos
Profissional Documentos
Cultura Documentos
dias
Colaborao: Wendell Almeida
Data de Publicao: 14 de dezembro de 2012
Podemos colaborar com a TI verde desligando servidores que no necessitam ficar
ligados 24hs por dia 7 dias por semana.
Pensando em uma empresa que funciona somente em horrio comercial de segunda a
sexta feira entre 09:00 e 18:00hs, podemos realizar uma programao para que
automaticamente o servidor desligue por volta das 20:00hs e ligue no dia seguinte s
08:55hs, permanecendo desligado sbado e domingo.
O script abaixo realiza essa operao:
#!/bin/bash
logger=$(which logger)
test -x $logger || exit 1
# Horrio que o servidor ser ligado
HOUR_UP="08:55:00"
# Primeira segunda do ms o servidor no ser desligado
WEEKDAY1=Mon
LANG=C
LC_ALL=C
DATE=$(date +%a)
DAY=$(date +%d)
shutdown=$(which shutdown)
poweroff="$shutdown -h now"
THIS="shutdown_system"
date="date -u"
WAKEALARM=/sys/class/rtc/rtc0/wakealarm
## Ligar o servidor na data e horrio definidos
wakeup(){
echo 0 > $WAKEALARM
test "$DATE" = "Fri" && $date -d "+ 3 day $HOUR_UP" +%s > $WAKEALARM
test "$DATE" = "Sat" && $date -d "+ 2 day $HOUR_UP" +%s > $WAKEALARM
$date -d "+ 1 day $HOUR_UP" +%s > $WAKEALARM
#cat /proc/driver/rtc
}
## Desligar o servidor
halt(){
$logger -t $THIS "The System Shutdown!!"
wakeup
$poweroff
exit 0
}
## Verifica se o servidor ser desligado ou no
validate(){
test $DAY -lt 7 || halt
test "$WEEKDAY1" = "$DATE" || halt
$logger -t $THIS "The System NOT Shutdown!!"
}
validate
* * *
* * *
* * 4
root
root
root
Sistema aplicado: Debian Squeeze. Talvez seja necessrio ajustes para outras
distribuies.