我正在进行数据库转储,如下所示:
- name: create backup of the EMS database
shell: " mysqldump --single-transaction --triggers --routines --events --hex-blob --complete-insert -h {{groups.db_name[0]}} -u {{ db_user }} -p{{ db_password }} {{ db_name }} > {{ vars.inventory_dir }}/../{{ db_name}}_backup-{{ ansible_date_time.iso8601 }}.sql"
register: db_backup
现在如果你注意到最后的shell命令我转储了一个日期时间附加为{{ db_name}}_backup-{{ ansible_date_time.iso8601 }}.sql
的mysql
我如何在下一场比赛中仅使用这个动态部分?
答案 0 :(得分:2)
我建议您先将文件名存储为事实:
- set_fact:
mysql_dump_file: "{{ db_name }}_backup-{{ ansible_date_time.iso8601 }}.sql"
然后在转储任务和您需要文件名的所有后续任务中使用该事实:{{ mysql_dump_file }}
- name: create backup of the EMS database
shell: "mysqldump --single-transaction --triggers --routines --events --hex-blob --complete-insert -h {{ groups.db_name[0] }} -u {{ db_user }} -p{{ db_password }} {{ db_name }} > {{ vars.inventory_dir }}/../{{ mysql_dump_file }}"
register: db_backup