Сценарий пользовательских данных ec2 выполняется только частично - PullRequest
0 голосов
/ 19 октября 2018

Я использую экземпляры ec2 с Ubuntu 18 ami, со сценарием пользовательских данных следующим образом:

#!/bin/bash
sudo apt-get update -y
sudo apt-get install python-pip -y
sudo apt-get install awscli -y
mkdir /home/ubuntu/dir
aws s3 sync s3://art-meta-data ./art-meta-data

скрипт, который он выполнял только частично, он установил pip, выполняет обновление apt-get, установил awscli,но не синхронизирует корзину и не создает каталог.

Я не получаю никаких ошибок (может быть, я не смотрю правильное место?), и когда я пытаюсь создать каталог и синхронизировать буферчерез ssh он работает отлично, то есть с разрешениями s3 и os хорошо.

В чем здесь проблема?Что еще я должен проверить?

edit: я нашел this - объясняющий, как заставить ваш скрипт запускаться каждый раз, когда вы останавливаете и запускаете экземпляр, но без объяснения, почему добавленная мета-кодировка что-то меняет,Кто-нибудь может указать мне на некоторые ссылки, почему этот скрипт работает не так, как обычный скрипт bash?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вы можете проверить системные журналы EC2, чтобы увидеть результат неудачной команды.Это действительно единственный способ отладить проблему в сценарии пользовательских данных.

Дважды проверьте, что ваш профиль экземпляра имеет доступ к корзине и что вы используете правильный arn для ссылки на корзину

0 голосов
/ 19 октября 2018

Было бы лучше описать полный путь в команде синхронизации, чтобы избежать создания в неправильном месте.

#!/bin/bash
sudo apt-get update -y
sudo apt-get install python-pip -y
sudo apt-get install awscli -y
mkdir /home/ubuntu/dir
aws s3 sync s3://art-meta-data /home/ubuntu/dir/art-meta-data
...