Я пытаюсь написать сценарий оболочки, который 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, и при необходимости я могу проанализироватьскрипт на другом сервере.