尝试从一台服务器中的Shell脚本运行find命令到另一台服务器

时间:2019-04-11 12:50:38

标签: bash unix ssh find sh

我在服务器A中有一个shell脚本,该脚本具有要在另一台服务器B中执行的 find 命令。

我这样运行我的脚本:./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"

但是我最终遇到以下错误 :名称或服务名称未知

其中serverName是我的服务器a

注意:我尝试通过命令行运行相同的命令,然后它起作用了。

1 个答案:

答案 0 :(得分:0)

您的变量serverName不存在,或者变量中的域无法解析。

如果它是域,请尝试解决它以检查IP host $serverName