SSH на другую машину, чтобы найти номер файла - PullRequest
0 голосов
/ 09 июля 2010

Вот мой код:

echo "`${BOLD}`  ***** Checking CoreFile Creation *****`${UNBOLD}`"
    echo "========================================================"

    IFS='|'
        cat configMachineDetails.txt | grep -v "^#" | while read MachineType UserName MachineName
        do
        export CHK_COREFILE=`ssh -f -T ${UserName}@${MachineName} ls ~/corefiles | wc -l|sed 's/ //g'`
        if [ $CHK_COREFILE -gt 0 ]
        then    
            echo "CHK_COREFILE $CHK_COREFILE number of core files are created"
            echo "                    "     
            export CHK_COREFILES_NAME=`ls -lrt ~/corefiles`
            echo " Name of the Files $CHK_COREFILES_NAME "
            echo "MachineType $MachineType  UserName $UserName  MachineName $MachineName"

            echo "-----------------------------------------------------"
        fi
    done    

После SSH к другой машине это ls к пути машины, на которой выполняется код. Следовательно, он говорит, что путь не найден.

export CHK_COREFILE=`ssh -f -T ${UserName}@${MachineName} ls ~/corefiles | wc -l|sed 's/ //g'`

Как справиться с этим? Работаю на (кш) солярисе.

1 Ответ

1 голос
/ 09 июля 2010

Команда ssh, которая устанавливает CHK_COREFILE, запускает только свою собственную строку на удаленном сервере, которая не включает ls -lrt ~/corefiles.Простое решение - изменить назначение CHK_COREFILES_NAME на

export CHK_COREFILES_NAME=`ssh -f -T ${UserName}@${MachineName} ls -lrt ~/corefiles`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...