我在服务器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
注意:我尝试通过命令行运行相同的命令,然后它起作用了。
答案 0 :(得分:0)
您的变量serverName
不存在,或者变量中的域无法解析。
如果它是域,请尝试解决它以检查IP host $serverName