在ansible中连接变量

时间:2017-05-17 09:49:56

标签: mysql ansible jinja2

我正在尝试执行以下任务:

 -name: Dump Server1 database to Server2

  shell: 'mysqldump -h {{ server1_ip }} -u {{ mysql_user }} --protocol=tcp --password={{ mysql_passwd }} --single-transaction --set-gtid-purged=off {{server1_db}} table1 table2 table3 > dump.sql'

这个任务的想法是导出数据库结构和我想要的表的数据。在这个例子中我只放了3个表,但在现实生活中它可能是20或30个表。所以,我的想法是做这样的事情:

将“table1 table2 table3”替换为“{{tables}}”之类的内容,然后使用多个值执行变量,类似:

tables:
  - table1
  - table2
  - table3

...

任何人都知道这样做的正确方法吗?在句子中放入一个变量,并替换变量中多个值的串联。

提前致谢!

1 个答案:

答案 0 :(得分:0)

如果你有tables列表如下:

tables:
  - table1
  - table2
  - table3

然后执行{{ tables | join(' ') }}将生成table1 table2 table3

请参阅文档中的other useful filters