Precisa de ajuda para executar e excluir script bash remoto por meio de um script bash local

Precisa de ajuda para executar e excluir script bash remoto por meio de um script bash local

Estou tentando criar um script bash que enviará um script para um servidor remoto, ssh (usando uma chave ssh que já está instalada) para o servidor remoto, executará o script carregado e excluirá o script remoto quando terminar. Não sei como executar uma sessão ssh dentro de um script bash. Aqui estão os comandos que uso para fazer isso na linha de comando:

scp my_script.sh [email protected]:/usr/home/user/
ssh [email protected]
>sh my_script.sh
>rm myscript.sh
>exit

Como faço o script da parte ssh da minha lista de comandos? Obrigado!

Responder1

ssh executará comandos passados ​​como argumentos na máquina remota. O seguinte deve fazer o que você deseja:

ssh [email protected] 'sh my_script.sh; rm my_script.sh'

Responder2

Você também pode pular a cópia e exclusão do arquivo e fazer algo assim.

cat my_script.sh | ssh user@host bash

Responder3

Você também pode investigar o uso do Fabric, uma biblioteca Python para administração de sistemas via SSH:

http://docs.fabfile.org/0.9.1/

É super simples de começar, mas muito poderoso, especialmente em vários servidores.

informação relacionada