У меня есть сценарий оболочки на сервере 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
ПРИМЕЧАНИЕ: Я попытался запустить ту же команду через командную строку, затем она работает.