следующий скрипт "testssh.ksh" доказывает, что у ssh есть некоторые проблемы, когда мы пытаемся выполнить ssh с нескольких машин одновременно
на самом деле цель этого скрипта - проверить файл test_file в/ var / tmp на сервере Solaris (10.10.18.6), как все видят в некоторых шагах ssh, мы не можем проверить наличие файла test_file, потому что ssh застрял или не активирован из ожидаемого
фона - этот скриптвыполнить 15 раз ssh на сервер Solaris с IP - 10.10.18.6 в одно и то же время, чтобы проверить file_test в / var / tmp на сервере
мой вопрос - как улучшить процесс ssh, чтобы избежатьследующие проблемы
Замечание - сон может помочь нам в этой ситуации - но я не хочу добавлять сон перед процессом ssh
[root@linux /var/tmp]# more testssh.ksh
#!/bin/ksh
expect=`cat << EOF
set timeout -1
spawn ssh 10.10.18.6
expect {
")?" { send "yes\r" ; exp_continue }
word: {send pass123\r}
}
expect > {send "ls /var/tmp/test_file\r"}
expect > {send exit\r}
expect eof
EOF`
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
do
( expect -c "$expect" | grep "test_file" | grep -v ls ) &
done
пример - когда мы запускаем скрипт testssh.ksh
[root@linux /var/tmp]# /var/tmp/testssh.ksh
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
expect: spawn id exp6 not open
while executing
"expect > {send "ls /var/tmp/test_file\r"}"
expect: spawn id exp6 not open
while executing
"expect > {send "ls /var/tmp/test_file\r"}"
expect: spawn id exp6 not open
while executing
"expect > {send "ls /var/tmp/test_file\r"}"
expect: spawn id exp6 not open
while executing
"expect > {send "ls /var/tmp/test_file\r"}"
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file
/var/tmp/test_file