Outra opção é Ansible . Como o SaltStack, o Ansible é uma solução de gerenciamento de configuração. O Ansible foi construído literalmente para executar comandos em várias máquinas remotas.
Ansible é legal porque você não precisa instalar nada nas "máquinas de destino". Basta instalá-lo na máquina host (ou seja, seu computador) e ele usa o SSH para fazer login nas máquinas de destino e executar comandos da shell nelas.
Aqui estão as instruções para instalar o Ansible no Ubuntu .
Digamos que você queira executar seu script em duas máquinas de destino, em ip1
e ip2
. Você pode criar um manual Ansible, playbook.yml
, da seguinte forma:
---
- hosts: "ip1:ip2"
user: "my_login_user"
tasks:
- name: "execute my script"
script: my_script.sh
Em seguida, crie seu script, my_script.sh
ou my_script.py
ou qualquer outra coisa, no mesmo diretório que playbook.yml
.
Por fim, execute o seguinte na linha de comando:
ansible-playbook -u my_login_user -i "ip1,ip2" --private-key=<path_to_my_private_ssh_key> playbook.yml
Se você tiver acesso SSH às máquinas de destino por meio desse usuário e da chave SSH, o Ansible fará SSH nelas e executará seu script. Você pode estender isso para quantas máquinas quiser.