você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Servidor SIGA-ME

Colaboração: Wladimir Duarte Gomes

Data de Publicação: 08 de Outubro de 2007

Vamos fazer um servidor que executa o SIGA-ME da BrasilTelecom automaticamente para celulares seguindo a ordem cronológica da escala de serviço, bem como enviar um e-mail avisando o usuário que seu celular foi efetuado o siga-me. Para isso é necessário uma placa de Fax-Modem, um PC qualquer com no mínimo 1.5 Gb de HD e 256 Mb de RAM.

  1. Instalar o wvdial:
    # apt-get install wvdial
    
    Obs: O wvdial detecta automaticamente a placa de Fax-Modem, na instalação o aplicativo faz perguntas básicas do tipo qual o seu provedor, usuário e senha , pressione <Enter> para todos os campos.

  • Configuração do wvdial, edite o /etc/wvdial.conf:
    # o zerar-modem faz com que o sinal do telefone não fique como se estivesse
    # fora do gancho e assim gastar a conta de telefone sem usar.
    
    [Dialer zerar-modem]
    Init1 = ATH
    Modem Type = Analog Modem
    ISDN = off
    Modem = /dev/ttyS1
    Baud = 921600
    Dial Command = ATH
    Carrier Check = on
    Stupid Mode = 0
    
    # Esse desfaz o  siga-me
    [Dialer desfazer-sigame]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Init3 = ATX3
    Modem Type = Analog Modem
    ISDN = 0
    Dial Command = ATDT
    Phone = #21#
    New PPPD = yes
    Modem = /dev/ttyS1
    Baud = 921600
    Password = *****
    Username = *****
    Ask Password = off
    Ask Username = off
    Auto Reconnect = off
    Abort on Busy = on
    Carrier Check = on
    Stupid Mode = 0
    
    # Esse muda para o usuário sem pedir o tom ou desfazer o  siga-me .
    [Dialer usuário]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Init3 = ATX3
    Modem Type = Analog Modem
    ISDN = 0
    Dial Command = ATDT
    Phone = *21*Número#
    New PPPD = yes
    Modem = /dev/ttyS1
    Baud = 921600
    Password = ****
    Username = ****
    Ask Password = off
    Ask Username = off
    Auto Reconnect = off
    Abort on Busy = on
    Carrier Check = on
    Stupid Mode = 0
    
  1. Instalar e configurar Postfix
    # apt-get install postfix
    

  • Postfix Configuration (Respostas e Perguntas) a) Ok => para iniciar a configuração;
    b) Internet Site => Tipo Geral de Configuração;
    c) administrador@provedor => Para onde deve ir o mail para o root;
    d) provedor => Nome de mensagens;
    e) localhost, localdomain, localhost => Outros destinos para os quais aceitar mensagens?
    f) Não => Forçar atualizações síncronas na fila de mensagem?
    g) 127.0.0.0/8 => Redes locais?
    h) 0 => Tamanho máximo das caixas de mensagens
    i) "Nada" => Caracter de extensão de endereço local?
    j) todos => Qual o protocolo de Internet a utilizar?

    Se precisar reconfigurar o comando é:
    # dpkg-reconfigure postfix
    

  1. Instale um cliente de email (mailx - sugestão)
    # apt-get install mailx
    

    Faça teste com e-mail na console:
    $ echo "teste" | mail -s "teste1" administrador@provedor
    $ cat arquivo.txt | mail -s "teste2" administrador@provedor
    
  2. Scripts Diversos

    Crie o diretório sigame e coloque os scripts:
    # mkdir /sigame
    # chmod 777 /sigame
    # kedit /sigame/corpo.txt (deixe em branco esse arquivo e salve)
    # mcedit /maladireta
    
    Script maladireta
    #!/bin/bash
    
    DATA=`date +%d%m%Y`
    
    IFS=:
    
    while read nome email celular escala
    do
    if [ "$escala" = "$DATA" ]
    then
    wvdial $email
    wvdial zerar-modem
    cp /sigame/corpo.txt texto.txt
    echo "$nome, seu SIGA-ME para o celular $celular foi efetuado com sucesso!" >> texto.txt
    echo "Para alterar o SIGA-ME basta fazer SSH ou PUTTY para 10.193.4.206:"  >> texto.txt
    echo "Login: sigame"  >> texto.txt
    echo "Password: sigame" >> texto.txt
    echo "Os comandos para alteração do SIGA-ME são:" >> texto.txt
    echo "wvdial $email" >> texto.txt
    echo "wvdial zerar-modem" >> texto.txt
    echo "exit" >> texto.txt
    echo "Não esqueça de desfazer o SIGA-ME quando chegar na DiTI." >> texto.txt
    echo "VÊ SE PRESTA ATENÇÃO NO SERVIÇO." >> texto.txt
    echo "" >> texto.txt
    echo "" >> texto.txt
    echo "Atenciosamente," >> texto.txt
    echo "" >> texto.txt
    echo "" >> texto.txt
    echo "_______________" >> texto.txt
    echo "Sistema SIGA-ME" >> texto.txt
    echo "DITI/CBMSC" >> texto.txt
    cat texto.txt | mail -s "$nome" $email@cb.sc.gov.br, ditich@cb.sc.gov.br
    rm -rf texto.txt
    fi
    done < /sigame/lista.txt
    
    # chmod 777 /sigame/maladireta
    
    # mcedit /sigame/lista.txt
    nome:email:numero:escala (a última linha não é lido, portanto sempre ponha essa linha no final)
    
    # cp /sigame/maladire /usr/local/bin
    
    Script de Backup
    #!/bin/sh
    DATA=`date +%Y-%m-%d-%H.%M`
    tar -zcvf sigame-"$DATA".tar.gz /sigame
    uuencode sigame-"$DATA".tar.gz sigame-"$DATA".tar.gz | mail -s "sigame-"$DATA".tar.gz" administrador@provedor
    rm -rf sigame-"$DATA".tar.gz
    
    Configuração da Crontab
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:sbin:/bin:/usr/sbin:/usr/bin
    
    #  m d  M s user   comando
    00  19 * * * root maladireta
    


Veja a relação completa dos artigos de Wladimir Duarte Gomes