LINUX.ORG.RU

История изменений

Исправление alozovskoy, (текущая версия) :

На первый вопрос - пишите сценарий, который будет у вас брать файлы с хоста Ansible и закидывать на удаленные хосты. Или можно проверять только наличие определенных строк. Запускаете кроном или руками.

Второй вопрос:

$ cat playbook 
---
- hosts: localhost

  tasks:
  - debug: msg="{{item}}"
    with_items: variables.split()

$ ansible-playbook playbook -e "variables='foo bar baz'"

PLAY [localhost] ************************************************************** 

TASK: [debug msg="{{item}}"] ************************************************** 
ok: [127.0.0.1] => (item=foo) => {
    "item": "foo", 
    "msg": "foo"
}
ok: [127.0.0.1] => (item=bar) => {
    "item": "bar", 
    "msg": "bar"
}
ok: [127.0.0.1] => (item=baz) => {
    "item": "baz", 
    "msg": "baz"
}

PLAY RECAP ******************************************************************** 
127.0.0.1                  : ok=1    changed=0    unreachable=0    failed=0   

(ну и варианты в таком ключе - можно использовать vars_prompt или другие варианты получения переменных)

Исходная версия alozovskoy, :

На первый вопрос - пишите сценарий, который будет у вас брать файлы с хоста Ansible и закидывать на удаленные хосты. Запускаете кроном или руками.

Второй вопрос:

$ cat playbook 
---
- hosts: localhost

  tasks:
  - debug: msg="{{item}}"
    with_items: variables.split()

$ ansible-playbook playbook -e "variables='foo bar baz'"

PLAY [localhost] ************************************************************** 

TASK: [debug msg="{{item}}"] ************************************************** 
ok: [127.0.0.1] => (item=foo) => {
    "item": "foo", 
    "msg": "foo"
}
ok: [127.0.0.1] => (item=bar) => {
    "item": "bar", 
    "msg": "bar"
}
ok: [127.0.0.1] => (item=baz) => {
    "item": "baz", 
    "msg": "baz"
}

PLAY RECAP ******************************************************************** 
127.0.0.1                  : ok=1    changed=0    unreachable=0    failed=0