SSH к серверу, запускайте циклы if и for с записью в локальные файлы внутри циклов - PullRequest
1 голос
/ 08 октября 2019

Я пытаюсь написать сценарий оболочки, который ssh ​​на другом сервере, чтобы grep разных файлов, а затем записать вывод grep на локальный сервер.

На данный момент работает:

for X in file1 file2 file3 
touch $log
do
ssh $SERVER "grep "${X}" server_file" >> $log
done

В быстром режиме серьезных замедлений нет, поскольку мои серверы достаточно хорошо связаны друг с другом. Код также выглядит так, как будто он может быть оптимизирован для выполнения ssh только один раз, надеюсь. В идеале я хотел бы сделать что-то вроде этого:

for X in file1 file2 file3 
touch $log
do
ssh $SERVER "grep "${X}" server_file >> $log

#While in the server, grep files then write to a local log

if ["${X}"=file1]; then
grep variable1 "${X}" >> $log
break
fi

if ["${X}"=file2]; then
grep variable2 "${X}" >> $log
break
fi
done"

Я знаю, что может быть рекомендовано, чтобы я перенес все свои команды в файл local.sh, затем направил его в SSH, и при необходимости я могу проанализироватьскрипт на другом сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...