+ Responder ao Tópico



  1. #1

    Padrão Executar comando em diversos servidores remotamente via SSH

    Olá,

    Tenho uma necessidade, e venho aqui pedir ajuda.
    Precisarei, diariamente, executar um comando em 10 máquinas, e estou tentando entender como fazer para que, a partir do host principal, um único comando dê a ordem aos demais hosts.

    O servidor principal possui acesso sem senha, por ssh, aos demais servidores, sendo que basta um "ssh ip" para estar no host remoto. Minha esperança é ter um arquivo servidores.txt e fazer algo semelhante ao abaixo:

    #comando [email protected]

    Podem por favor, me auxiliar nisso? Eu não tenho domínio de shell script.

  2. #2

    Padrão

    Pode utilizar bashscript, ou qualquer outra linguagem de script de sua preferência.

    Em bash:

    # for server in `cat /home/user/serverlist`
    do
    ssh user@$server ls -l
    done

    Ou em uma linha só:

    # for server in `cat /home/user/serverlist`; do ssh user@$server ls -l; done

    Caso use com freqüência para comandos diferentes pode definir uma função no seu .bashrc com os parametros desejados, ou criar um alias caso seja algo estático, ou então criar em um arquivo e jogá-lo em seu path de comandos.

    Recomendo fortemente que estude bashscript, se irá trabalhar bastante com o console.

    A[]'s

  3. #3