Atualmente, estou trabalhando em um script pequeno no qual preciso atualizar um arquivo em vários servidores, tenho uma longa lista de IPs dos meus servidores e, atualmente, estou usando ncftpput
para adicionar os arquivos aos servidores em um. um tempo.
Não consigo descobrir como iniciar ncftpput
com o próximo endereço IP da minha lista para que eu possa ter várias atualizações em execução ao mesmo tempo.
Minha lista é apenas endereços IP:
192.168.0.1
192.168.0.2
192.168.0.3
......
until 192.168.0.150
O que eu preciso é o primeiro ncftpput
para acessar o primeiro IP, o segundo número dois IP e assim por diante para a quantidade de threads que eu preciso / sistema pode manipular.
Digamos que 10 de cada vez e quando o primeiro segmento termina leva apenas o próximo IP NÃO tomado por nenhum dos outros threads.
Espero ter esclarecido meu problema e que alguém possa me ajudar a descobrir isso.
Até agora eu estou fazendo assim: (executando um de cada vez)
while read ip; do
ncftpput -c -A -u "$USER" -p "$PASSWD" "$ip" "/usr/local/program/program.conf" < "~/addthisinfo" 2>/dev/null
if [ $? -eq 0 ]
then
echo -e "Here goes my succes test" >>/tmp/text_added
else
echo "$ip failed ! please take care of this"
fi
done <"$pathtoiplist""/iplist"
Eu tenho tentado com algumas das respostas que encontrei na net, mas não consigo enxergar a saída. Eu continuo terminando com uma nova instância de ncftpput
ou vários começando do topo do meu arquivo e não do próximo endereço IP na lista.