У меня есть автомасштабирование группа EC2, и у меня есть центральная конфигурация с помощью мерзавца между серверами. Они настраиваются с ключами, таким образом, им не нужен пароль.
Я хочу удостовериться, когда экземпляр начинает и созданный из AMI (с возможно устаревшей конфигурацией), что это вытягивает конфигурацию с помощью нормальной команды получения по запросу мерзавца. Команда должна быть выполнена как определенный пользователь настолько же только, что пользователь может получение по запросу мерзавца, как это - то с ключом RSA, это - корневой каталог.
Таким образом, по существу на сервере запускаются, определенный пользователь должен выполнить получение по запросу мерзавца в определенном репозитории.
Вы можете установить эту команду в /etc/rc.local. Измените rc.local в вашем образе так, чтобы он состоял из чего-то следующего:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
pushd /certain/repository
su -s /bin/bash -c "git pull" <username>
popd
exit 0
Просто замените на пользователя, с какими привилегиями вы хотите запускать 'git pull'. Также, на всякий случай, не забудьте запустить:
chmod +x /etc/rc.local
Это часть из соответствующей документации RedHat по rc.local, но на всех дистрибутивах:
Скрипт /etc/rc.d/rc.local выполняется командой init во время загрузки или при смене уровня выполнения. Добавление команд в нижнюю часть этого скрипта является простым способом выполнения необходимых задач, таких как запуск специальных служб или инициализация устройств без написания сложных инициализационных скриптов в каталоге /etc/rc.d/init.d/ и создания символических ссылок.