Usando o comando Echo com o comando Sleep

0

Então eu fiz uma pergunta aqui algumas semanas atrás e a resposta que recebi foi útil, mas achei que adicionaria algumas informações para obter uma resposta melhor.

Eu trabalho com um sistema de computador que tem 8 servidores (4 primários 4 alternativos) e tem 16 nós nesses servidores (4 em cada servidor com o mesmo em cada alternativa). Os nós não podem ser carregados até que os servidores entrem online. Então eu tenho escrito duas linhas de códigos que são separadas até que eu possa descobrir como conectá-los juntos.

for i in 'echo server1; echo server2; echo server 3; echo server4; echo server5; echo server6; echo server7; echo server8'; do
echo $i
/remcmd $i username password 'superuser /reboot'
echo
done

Então meu segundo comando seria

for i in 'echo node1; echo node2; echo node3; echo node4; echo node5; echo node6; echo node7; echo node8; echo node9; echo node10; echo node11; echo node12; echo node13; echo node14; echo node15; echo node16
/remcmd $i username password 'superuser /reboot'

Existe uma maneira de reiniciar os servidores, em seguida, aguarde 9 minutos e, em seguida, reinicialize os nós. Eu tentei canalizar, mas fiz algumas pesquisas e não gostei.

Qualquer ajuda que alguém possa dar, eu agradeceria.

    
por Westberlinbombr 17.05.2014 / 09:13

1 resposta

1

Use at para agendar um comando no futuro ( man at para uso ). Seja no seu servidor ou nos nós, dependendo do que eles são e quais seriam mais adequados para controlar a reinicialização.

servers="server1 server2 server3 server4"
nodes="node1 node2 node3 node4"
remcmd="something"

for server in $servers; do
  echo "server [$server]"

  for node in $nodes; do
    echo "node [$node]"

    # Locally schedule a node reboot in 9 minutes
    at now + 9 minutes <<< "$remcmd $node username password 'superuser /reboot'"

    # or remotely schedule the node reboot
    $remcmd $node username password 'at now + 9 minutes <<< "superuser /reboot"'
  done    

  # Reboot server now
  $remcmd $server username password 'superuser /reboot'
done
    
por 17.05.2014 / 09:52