Я хочу написать скрипт, который я могу использовать для grep для процесса на удаленном сервере, на каждом сервере уже есть учетная запись пользователя, которая может ssh без пароля, , так что идея этот скриптУдаленный сценарий оболочки
- Суд в Беспарольном учетной записи пользователя
- SSH на удаленный сервер
- Команда запуска (п.с. -ef | Grep ProcessName)
- дисплея выход на локальном сервере
- закрыть соединение SSH
- выход из беспарольного учетной записи пользователя
в минуту у меня есть:
if [ $1 = -r ]
then
su - useraccount
ssh $2 "ps -ef | grep process | grep -v grep"
exit
else
ps -ef | grep process | grep -v grep
fi
Идея здесь вы можете запустить скрипт локально, если вы не имеете - опция г так, чтобы запустить локально вы бы
script.sh processname
или дистанционно
script.sh -r remotehost processname
У меня есть Grep -v Grep там еще потому, что просто раздражает меня видеть мою собственную команду Grep в списке,
Я просто думаю, что это выглядит немного чище
Есть идеи?
Так в чем проблема? –
'su' начинает свою собственную оболочку, используйте' su - username -c 'вашу команду ssh ''. – Wrikken
Спасибо, да, что сработало, я могу получить скрипт на ssh на удаленный сервер, но теперь проблема заключается в передаче локальных переменных на удаленный сервер, поэтому, если я запустил 'script.sh -r remotehost processname', имя процесса составляет $ 3 локально, не удаленно –