Dica Derrubar usuário banco UNIX

Discussão em 'Banco de Dados / Database' iniciado por af.dums, Dezembro 15, 2020.

  1. af.dums

    af.dums Membro Ativo

  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Bom dia meu caro, seguinte, eu fiz um programa que lista os usuarios conectados acessando as tabelas ocultas, as _(underline), dai eu seleciono os ID do usuario que preciso derrubar, lembrando que pode mudar o ID de um banco pra outro, dai eu salvo essa informação em uma tabela no meu banco especifico, no lado unix / linux, eu rodo um programa .p que le a tabela que eu gravei, e faz um os-command com o comando "proshut NOMEBANCO -C disconnect IDUSUARIO"
    faço o os-command sem nenhum parametro, então, o progress espera o comando terminar pra voltar o controle, então depois do os-comnand, eu verifico se o ID do usuario ainda está na tabela _ .... se ele não está mais, eu deleto no registro da minha tabela especifica e vou pro proximo.

    Assim eu consigo até derrubar varios usuarios ao mesmo tempo.
  3. baltazar

    baltazar Membro Participativo

  4. pedro.ciarma

    pedro.ciarma Membro Participativo

    no ambiente Unix eu utilizo este script e funciona bem, desconecta o usuário em todos os bancos conectados



    #!/bin/bash

    USER=""
    export EVTLEVEL=none
    export PATH=/bancos/dlc116/bin:$PATH
    DLC=/bancos/dlc116;export DLC
    cat $DLC/version
    cd /d5/ems/
    rm /tmp/userconectados.txt
    clear
    echo
    echo "INFORME O USUARIO/MAQUINA OU T(todos): "
    read USER

    echo "************************************************************************"

    if [ -z "$USER" ]
    then
    echo "INFORME UMA OPCAO VALIDA !"
    exit 0;
    elif [ $USER = "T" ] || [ $USER = "t" ]
    then
    echo "USUARIOS CONECTADOS NO BANCO EMS2 SIMULADO !"
    echo
    proshut /bancos01/totvs11/database-8080/emsfnd -C list
    UCONECT=`/bancos01/totvs11/database-8080/emsfnd -C list | wc -l`
    echo
    echo "USUARIOS CONECTADOS NO BANCO EMS2UNI SIMULADO: $UCONECT"
    echo "************************************************************************"
    elif [ $USER ]
    then
    for a in `proutil -C dbipcs |grep Yes | awk '{print$5}'`; do proshut $a -C list | grep -w $USER >> /tmp/userconectados.txt; done
    if test -s /tmp/userconectados.txt
    then
    cat /tmp/userconectados.txt
    echo "Deseja desconectar ?"
    echo "Pressione s/S ou Enter para sair !!!"
    echo "************************************************************************"
    read DISCONECT
    rm /tmp/userconectados.txt
    else
    echo
    echo "USUARIO NAO CONECTADO TENTE NOVAMENTE !!!"
    echo "************************************************************************"
    rm /tmp/userconectados.txt

    fi
    fi
    if test "$DISCONECT" = "s" -o "$DISCONECT" = "S"
    then
    for a in `proutil -C dbipcs |grep Yes | awk '{print$5}'`; do for i in `proshut $a -C list | grep -w $USER | awk '{print $1}'`; do proshut $a -C disconnect $i; done; done
    echo "************************************************************************"
    else
    exit

    fi
  5. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    eu já usei esse também, mas a telinha grafica é mais bonitinha hehehe
  6. af.dums

    af.dums Membro Ativo

    Show de bola senhores, na real, BD não é minha praia, ai supus que possam ter mais pessoas que não fazem isso com muita frequencia, vocês estão em outro nível, hehehe....

Compartilhe esta Página