Использование ожидайте, чтобы войти на сервер Amazon с помощью файла.PEM
Мне нужно сделать следующее:
- Войдите в мой сервер Amazon
- Перейдите в конкретный каталог и запустите скрипт
- Сценарий выполняет
svn up
Мне нужно иметь возможность передать свое имя пользователя и пароль для этого сценария.
Я читал, я мог бы сделать это с ожиданием? Могу ли я выполнить вход через сценарий оболочки, а затем вызвать ожидаемый запуск специального сценария?
По сути, я просто ищу хороший способ сделать это и был бы признателен за указатель в правильном направлении.
1 ответ
Вы можете использовать ssh для передачи команд оболочки, которые будут выполняться на удаленном экземпляре.
Например, вот как я проверяю журналы на нескольких серверах:
#!/bin/bash
nas_servers=(
"ec2-xx-xx-xxx-xxx.ap-xxxx.compute.amazonaws.com"
"ec2-xx-xx-xxx-xxx.ap-xxxx.compute.amazonaws.com"
"ec2-xx-xx-xxx-xxx.ap-xxxx.compute.amazonaws.com"
"ec2-xx-xx-xxx-xxx.ap-xxxx.compute.amazonaws.com"
)
for s in "${nas_servers[@]}"
do
echo "Cheking $s:"
ret=$(ssh -i ~/pem/Key.pem "user@$s" bash << 'EOF'
files=/var/log/syslog*
for f in $files
do
if [[ ${f##*.} = 'gz' ]]; then
cmd=zcat
else
cmd=cat
fi
$cmd $f | egrep -wi 'error|warn|crit|fail'
done
EOF
)
if [[ -z $ret ]]; then
echo "No errors found."
else
echo "$ret"
fi
done