Desde que você entenda os perigos, você pode canalizar a saída para um shell:
wget -O - http://foo.com/somescript | sh
Eu tenho 10 máquinas VPS e todas elas precisam executar esse script que preciso mudar com frequência, mas não quero alterá-lo em 10 lugares, toda vez que preciso fazer uma alteração.
Eu coloquei o script como um arquivo de texto simples em um servidor HTTP remoto. Se eu pudesse wget
este arquivo e executar o conteúdo, isso seria ótimo.
Mas não tenho certeza de como fazer isso ou se existem maneiras alternativas de atingir meu objetivo?
Você pode fazer isso de uma forma push ou pull.
Se você quiser usar a forma de extração, use wget
ou curl
. De cada host, faça:
wget -O- http://foo.com/somescript | bash
ou
bash <(wget -O- http://foo.com/somescript)
No entanto, pode ser mais fácil fazer o push. De um host central, faça:
for host in host1 host2 host3; do
cat script.sh | ssh "$host" bash
done
Outra opção seria usar puppet
ou chef
. Mas dependendo do que você está fazendo, isso pode ser um pouco exagerado.
Tags command-line wget