Я пытаюсь инициализировать экземпляр AWS EC2, используя сценарий оболочки. Моя конечная цель - автоматизировать этот процесс с помощью boto (SDK python), и до сих пор у меня есть простой тестовый скрипт, который будет запускать новый экземпляр ubuntu, а затем с помощью скрипта оболочки будет обновляться и загружать некоторые инструменты (которые отлично работают), но то я пытаюсь создать сценарий для создания папки, создать файл и в конечном итоге запустить команду AWS cli для загрузки файла из ведра S3.Сценарий оболочки для AWS EC2 init
После создания экземпляра я могу запустить ssh и запустить команды, которые создают папку, файл и загружают файл из ведра, но сценарий не сделает этого для меня, и я не могу понять почему.
Мой сценарий выглядит следующим образом:
#!/bin/bash
apt-get -y update
apt-get -y install awscli
mkdir ./test_folder
echo -e "data" > ./test_folder/test_file
aws s3 ls
Для этого поста я заменил доступа ключевых данных с «данные», чтобы в конечном счете, команда s3 не будет работать, но если кто-то может помочь мне понять, почему mkdir и echo команды не будут работать. Я уверен, что смогу понять остальное.
Не должен ли apt-get работать с sudo priviledges? –
Добавьте 'set -x' в скрипт и посмотрите, какой результат вы получите? Работают ли строки 'apt-get'? Вы уверены, что знаете, в каком каталоге вы выполняете этот скрипт? Помогает ли использование абсолютного пути? –
команды apt-get работают нормально. Скрипт фактически передается как строка в переменную в python, которая затем использует этот синтаксис, чтобы называть его скриптом sh при инициализации. Я пробовал абсолютные пути, и результат тот же. Я попробовал 'set -x', но ничего не произошло. –