我们想重置服务器安装。
我们已经有Ansible脚本来设置我们的服务器,所以我们想要执行它。 然而,Ansible检查,例如,一些文件存在,然后跳过准备这些文件的步骤,但我们想覆盖所有文件。
有没有方便的选择呢?
答案 0 :(得分:4)
根据评论更新
在这种情况下(服务器上需要重新生成的证书)我的playbook中有一个nuke
标志,总是设置为false
,并且是一个执行清理的任务
- file:
path: '{{ item }}'
state: absent
when: nuke
with_items:
- /path/to/file1
- /path/to/file2
当我需要重新创建内容时,我会使用ansible和
ansible-playbook pb.yml -e nuke=true
它不是最优雅的解决方案,但它可以完成工作。
旧的过时答案
没有任何标准方法可以做到这一点。但我不认为这有任何意义。
Ansible保证您所配置的东西(即文件)的最终形式与您所说的相符。
例如,如果您部署这样的模板
- template:
src: ./foo
dest: /etc/foo
owner: root
并且您执行它,保证文件具有正确的内容并由用户root拥有。
您可以添加许多配置以确保(get_url
的校验和等)。