aspettatevi + come identificare se si aspettano pause perché il tempo fuori?

L'objective del seguente script semplice aspettarsi è quello di get il nome hostname sulla macchina remota

A volte si aspetta che il script non riesca a eseguire ssh a $ IP_ADDRESS (perché la macchina remota non è triggers, ecc)

  • Mostra \ n caratteri come newlines quando si utilizza la coda?
  • Protezione dei webserver PHP
  • where si trova il database updatedb?
  • Cambiare l'avviso Sudo
  • dmesg SYN inondazione su 80 sysctl -p
  • Vantaggi e svantaggi di each tipo di layout in pNFS
  • quindi in questo caso lo script di aspettarsi romperà dopo 10 secondi (timeout 10), questo è giusto ma ……

    Ci sono due opzioni

    1. L'attesa di script eseguire ssh con successo e eseguire il command hostname sulla macchina remota
    2. Aspetta l'interruzione di script perché il timeout era di 10 secondi

    Su entrambi i casi si aspetta l'output

    • in caso di ssh si aspetta successo si romperà dopo 0.5-1 secondo ma in caso di ssh difettoso si romperà dopo 10 secondi

    ma non so se prevedere che lo script eseguire ssh con successo o no?

    è ansible identificare il process di timeout? o per verificare che le aspettative siano terminate perché timeout?

    Notare la mia versione di macchina Linux – red hat 5.1

    Aspettatevi script

    [TestLinux]# get_host_name_on_remote_machine=`cat << EOF > set timeout 10 > spawn ssh $IP_ADDRESS > expect { > ")?" { send "yes\r" ; exp_continue } > > word: {send $PASS\r} > } > expect > {send "hostname\r"} > expect > {send exit\r} > expect eof > EOF` 

    Esempio nel caso in cui non abbiamo connessione all'host remoto

      [TestLinux]# expect -c "$get_host_name_on_remote_machine" spawn ssh 10.17.180.23 [TestLinux]# echo $? 0 

  • Ssh ansible come utente e eseguire ha radice (si aspetta come)
  • Attendi timeout, nello script di Bash
  • Azure ASP.NET sito http richieste in coda
  • si supponga che il script supporti due caratteri previsti
  • Come utilizzare wget in uno script Expect?
  • aspettate che il script + preveda la mancata invio della string di invio + del ritardo
  • 2 Solutions collect form web for “aspettatevi + come identificare se si aspettano pause perché il tempo fuori?”

    si può aspettare timeout, alcune versioni richiedono -reime come -regex per testare l'invocazione del timeout.

    ci si aspetta che l'affermazione potrebbe diventare

     expect { ")?" { send "yes\r" ; exp_continue } word: { send $PASS\r} timeout { puts "failed to SSH" } } 

    So che non è esattamente quello che hai chiesto, ma vorrei offrire un'alternativa. Utilizzare i tasti ssh invece che le password e il bash scripting invece di aspettare:

     output=$(ssh -o ConnectTimeout=10 -o BatchMode=yes -o StrictHostKeyChecking=no $IP_ADDRESS "hostname") if [ $? -eq 255 ]; then # Some error occured while attempting to connect. else # Success! fi 

    Questo non ti dice esplicitamente che c'era un timeout ma non è riuscito a accedere con una chiave privata, ecc., Ma batte la scrittura Expect.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.