2016-12-22 5 views
1

Я новичок с анзибль и пытается записать строку в файл с Ad-Hoc команды Я пытаюсь играть с replace модулем , Файл, который я пытаюсь написать, - /etc/motd/.Запись строки в файл с помощью команд Ad-Hoc в анзибль

ansible replace --sudo /etc/motd "This server is managed by Ansible" 

Любая помощь будет принята за благодарность!

ответ

1

Обратите внимание на использование lineinfile module и общий синтаксис для Ad hoc commands.

То, что вы ищете:

ansible target_node -b -m lineinfile -a 'dest=/etc/motd line="This server is managed by Ansible"' 

в расширенной форме:

ansible target_node --become --module-name=lineinfile --args='dest=/etc/motd line="This server is managed by Ansible"' 

Объяснение:

  • target_node это имя хоста или имя группы, как это определено в анзибль inventory file

  • --become (-b) инструктирует анзибль использовать sudo

  • -module-name (-m) определяет модуль для запуска (lineinfile здесь)

  • --args (-a) передает аргументы в модуль (эти изменяться в зависимости от модуль)

    • dest указывает на целевой файл
    • line инструктирует анзибль для обеспечения конкретной строки в файле

Если вы хотите заменить все содержимое /etc/motd следует использовать copy module.

ansible target_node -b -m copy -a 'dest=/etc/motd content="This server is managed by Ansible"' 

Обратите внимание, что один из аргументов изменяется соответствующим образом.