Pular para o conteúdo

Servidor em standby

Fiz este script para um servidor de proxy simples doméstico. Ele verifica se existe alguém na rede pela tabela ARP em uma rede específica. Caso ninguém responda o ping, ele faz o servidor entrar no modo de espera pelo ACPI. Depois basta ligar novamente sem ter que reinicializar o servidor. Além disso é muito bom para economizar energia em casa.
Henry Mendes henry3k
Hits: 6.979 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Fiz este script para um servidor de proxy simples doméstico. Ele verifica se existe alguém na rede pela tabela ARP em uma rede específica. Caso ninguém responda o ping, ele faz o servidor entrar no modo de espera pelo ACPI. Depois basta ligar novamente sem ter que reinicializar o servidor. Além disso é muito bom para economizar energia em casa.
Download standby.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
#standby 1.0 por henry mendes
#email hmjbetah@gmail.com

#exemplo: executar script a cada 15 minutos no cron
#1-59/15 * * * * /root/standby.sh

#Verifica se existem hosts na rede pelo ARP filtrando o tipo ether


REDE="192.168.1"

/usr/sbin/arp -a |grep ether|grep $REDE|cut -d '(' -f 2|cut -d ')' -f 1 > /tmp/standby.hosts

#somente para debug
cat /tmp/standby.hosts

        #funcao para colocar em standby. Necessita de um sistema com suporte ACPI.
        log_standby()
        {
                echo $(date) Nao EXISTEM computadores na rede.  >> /var/log/standby.log;
                echo mem > /sys/power/state;
        }

if [ $(cat /tmp/standby.hosts|wc -l) -eq 0 ]; then
        log_standby
        exit 0
fi


#Verifica cada host na rede ver se estao respondendo pelo PING
for i in $(cat /tmp/standby.hosts)
do
        echo $(date) Ping $i >> /var/log/standby.log
        ping -c 1 $i|grep "64 bytes" >> /tmp/standby.ping
done

# Se ninguem responder o PING entao standby
if [ $(cat /tmp/standby.ping|grep "64 bytes"|wc -l) -eq 0 ]; then
        log_standby
fi

#remove os arquivos temporarios
rm -v /tmp/standby.hosts /tmp/standby.ping

Programa Escolar

Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT

Script para subir interface wireless

Comando Executar Gerenciadores leves

Instalação do Telegram Desktop via shell script

#1 Comentário enviado por mmaximo em 24/05/2010 - 13:28h
Para complementar, poderia usar o recurso de Wake On Lan para ligar o servidor quando um computador tentar usar a a Internet

Contribuir com comentário

Entre na sua conta para comentar.