Попытка выполнить команду find из сценария оболочки на одном сервере на другом сервере - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть сценарий оболочки на сервере A, который имеет команду find , которая должна быть выполнена на другом сервере B. Как мне это сделать?

Я запускаю свой сценарий так:./a.sh a.properties

a.sh

#!/bin/sh

file="$1"
echo 'Reading file ' $file

if [ -f "$file" ]
then
        echo "Sourcing the file $file"
        . $file
else
        echo "$file not found. Quitting Script"
        exit 1
fi

for serverName in $allServerList
do
        for cleanupPath in $cleanupPathList
        do
                ssh a_io@$serverName -t "find $cleanupPath -type f ! -regex $excludeFileList -mtime -120 -mtime +30 | zip -@ $1/$(date +%Y%m%d).logs.backup.zip"
                ssh a_io@$serverName "find $cleanupPath -type f ! -regex $excludeFileList -mtime +30 -delete"
        done
done

a.properties

cleanupPathList="/tmp/abc/"
excludeFileList=".*\(.xlsx.*\|.ktr.*\)$"
SERVER1="a"
#SERVER2="b"
allServerList="$SERVER1"

Но я получаю следующую ошибку: Имя или службаНеизвестное имя a

Где serverName - мой сервер a

ПРИМЕЧАНИЕ: Я попытался запустить ту же команду через командную строку, затем она работает.

1 Ответ

0 голосов
/ 11 апреля 2019

Ваша переменная serverName не существует, или домен в переменной не разрешается.

Если это домен, попробуйте разрешить его для проверки IP host $serverName

...