2016-02-16 4 views
0

Я новичок в Puppet .. Я пытаюсь установить скрипт оболочки и исключить его с помощью Puppet. Сценарий оболочки после запуска создает другой файл conf и помещается в определенное место /usr/local/conf/app.conf. Как я могу написать марионеточный код для выполнения этого скрипта, а затем взять выходной файл и скопировать его на другой сервер (в моем случае это веб-сервер). Может кому-то помочь.Как установить и запустить скрипт в Puppet

ответ

0

Давайте предположим, что вы разработали модуль с именем WebConfig и ваш кукольный конфигурации НАПРАВЛ/и т.д./кукольный.

Вы должны хранить скрипт, как /etc/puppet/modules/webconfig/files/script.sh

Вашего кукольного код будет частично выглядеть следующим образом:

file { '/path/to/script.sh': 
    ensure => present, 
    source => 'puppet:///modules/webconfig/script.sh', 
    mode  => '0644', 
    owner => 'root', 
    group => 'root', 
} 
-> 
exec { 'Generate the config': 
    command => '/path/to/script.sh', 
    cwd  => '/path/to', 
    user  => 'root', 
} 
-> 
exec { 'SCP the config': 
    command => 'scp /usr/local/conf/app.conf [email protected]:', 
    cwd  => '/path/to', 
    user  => 'root', 
} 
+0

Спасибо! Это помогает. Итак, если на удаленном сервере запущен марионетный клиент, и он зарегистрирован на марионеточном мастере, запущенном на другом сервере, может ли этот марионетный модуль быть непосредственно выполнен на удаленном сервере, устраняя необходимость scp? – Mark

+0

Ну, если кукольный агент работает на целевом веб-сервере, генерируя конфигурационный файл где-то в другом месте, а SCPing его не будет лучшим решением. Как вы упомянули, лучше устранить SCP и создать конфигурацию на самом сервере. Кроме того, вместо сценария оболочки вы обычно создаете конфигурацию с использованием шаблона erb и богатых встроенных и расширенных функций кукольника –

Смежные вопросы