小编tvl*_*tvl的帖子

Ansible group_vars 变量优先级(group_vars 覆盖其他 group_vars)

在 Ansible 2.2 上,

我有一个 Ansible 主机文件:

[webserver]
aegir.dev

[hostmaster]
aegir.dev
Run Code Online (Sandbox Code Playgroud)

我有两个group_vars/文件:

# group_vars/webserver.yml
my_var:
  - vagrant
Run Code Online (Sandbox Code Playgroud)

# group_vars/hostmaster.yml
my_var:
  - vagrant
  - aegir
Run Code Online (Sandbox Code Playgroud)

和剧本:

- hosts: webserver
  tasks:
    - debug: var=my_var

- hosts: hostmaster
  tasks:
    - debug: var=my_var
Run Code Online (Sandbox Code Playgroud)

输出:

PLAY [webserver] ***************************************************************

TASK [setup] *******************************************************************
ok: [aegir.dev]

TASK [debug] *******************************************************************
ok: [aegir.dev] => {
    "my_var": [
        "vagrant",
        "aegir"
    ]
}

PLAY [hostmaster] **************************************************************

TASK [setup] *******************************************************************
ok: [aegir.dev]

TASK [debug] *******************************************************************
ok: [aegir.dev] => {
    "my_var": …
Run Code Online (Sandbox Code Playgroud)

ansible

10
推荐指数
2
解决办法
2万
查看次数

使用 Ansible 删除符号链接

dead_symlink在目录下有一个死的符号链接/usr/local/bin

当 Ansible 检查它报告的文件存在时

- stat: "path=/usr/local/bin/dead_symlink"
  register: dead_symlink_bin

- debug: var=dead_symlink_bin.stat.exists
Run Code Online (Sandbox Code Playgroud)

但是当我尝试删除它时,它报告“ok”但没有发生任何事情(符号链接仍然存在)

- name: Remove symlink
  file:
    path: "path=/usr/local/bin/dead_symlink"
    state: absent
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

symbolic-link symlink ansible

7
推荐指数
1
解决办法
2万
查看次数

使用 Ansible 复制目录内容(不替换目标文件)

下面有一个目录/var/test1,内容如下:

.
..
.git
.gitignore
file1
file2
Run Code Online (Sandbox Code Playgroud)

并且我想将其复制到/var/test2具有预先存在内容的其他位置:

.
..
file1
Run Code Online (Sandbox Code Playgroud)

如果我使用 Ansible copy

- copy:
  # note the trailing `/` at `src: /var/test1/` in order to copy the contents
  src: /var/test1/
  dest: /var/test2
Run Code Online (Sandbox Code Playgroud)

它将取代 file1/var/test2

如何在不替换目标文件的情况下复制目录内容?

copy ansible

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

ansible ×3

copy ×1

symbolic-link ×1

symlink ×1