Обратите внимание на использование 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"'
Обратите внимание, что один из аргументов изменяется соответствующим образом.