Espalha
O espalha é um sistema destinado a executar automática e
simultâneamente uma série de comandos (um script) em todos as
máquinas da rede, ou em algum grupo de máquinas. A vantagem de
utilizar o espalha é a facilidade para instalar programas,
alterar dados, etc, em todos os clientes desejados. O sistema é
relativamente simples e necessita de apenas três arquivos, citados
abaixo. É importante lembrar que este script deve ser rodado a
partir do servidor de /usr/local/ (veja
7.1.1), que é o único que tem ``livre acesso'' aos
clientes, i.e., o root neste servidor não precisa de senha para
entrar como root nos demais.
- /usr/local/Instalacao/scripts/espalha Este é um
script em bash que será executado nos clientes. Nele
pode-se colocar qualquer tipo de instruções. Alternativamente,
pode-se alterá-lo para rodar como um script em perl,
porém isto normalmente não é feito, já que é um script muito
utilizado para tarefas simples, e como pode ser usado nos
primeiros estágios da instalação, nem sempre se pode requerer que
o perl esteja instalado.
- /usr/local/Instalacao/executa* Há uma série de
scripts com o prefixo executa que faz a parte de rodar
o script espalha acima. Há um script a ser rodado em
modo texto e outro em ambiente gráfico. Com este é possível
abrir vãrios terminais concorrentes, cada um conectado a um
cliente remoto, de modo que o espalhamento seja feito em
paralelo. Fica a cargo do administrador escolher qual script é
mais adequado numa determinada situação. Todos estes scripts
lêem da entrada padrão uma lista de nomes de clientes, nos quais
o script espalha será executado.
- /usr/local/Instalacao/clientes.* Este arquivo é
opcional e serve para facilitar a entrada dos nomes dos
clientes nos quais se deseja executar o espalha. Estes
arquivos contêm os nomes dos micros que estão em cada uma das
salas que compõe a rede. Exemplo de uso:
$ ./executa < clientes.126
Isto executará o script espalha em todos os micros
cujos nomes estão contidos no arquivo clientes.126.
Espera-se que neste arquivo estejam os nomes dos micros da
sala 126-A.
Para gerar todos os arquivos do tipo clientes.*
pode-se executar o comando:
$ for i in `ypmatch clients126 netgroup`; do
echo $i | cut -d\. -f1 | tr -d \(
done
Livio Baldini Soares
2001-02-05