>source

다른 서버 B에서 수행 할찾기명령이있는 서버 A에 쉘 스크립트가 있습니다. 어떻게해야합니까?

스크립트를 다음과 같이 실행합니다 : ./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이 내 서버 인 곳

참고 :명령 줄을 통해 동일한 명령을 실행 한 후에 작동합니다.


  • 답변 # 1

    변수 serverName  존재하지 않거나 변수의 도메인이 해결되지 않습니다.

    도메인 인 경우 IP host $serverName 확인을 위해 해결해보십시오.

관련 자료

  • 이전 vsix - VS2019가 내 확장을 더 이상 사용하지 않는 것으로 표시하는 이유
  • 다음 mysql - 각 플레이어의 점수 합계를 선택하십시오