如何让 Ansible with_fileglob 包含隐藏文件?

How to make Ansible with_fileglob include hidden files?

我在我的 Ansible 脚本中使用以下任务将所有文件从本地数据文件夹复制到服务器:

- name: copy basic files to folder
  copy:
    src: "{{ item }}"
    dest: ~/data/
    mode: 755
    owner: "www-data"
    group: "www-data"
  with_fileglob:
    - ../files/data/*

除了跳过隐藏文件(例如 .htaccess)之外,这工作正常。

有人知道我怎样才能让 with_fileglob 也包含隐藏文件吗?

Ansible uses Python's glob.

If the directory contains files starting with . they won’t be matched by default.

>>> import glob
>>> glob.glob('*.gif')
['card.gif']
>>> glob.glob('.c*')
['.card.gif']

.* 明确添加到模式列表中。

好的,我自己找到了答案。我发现 with_fileglob 只是调用 python glob.glob() 函数。因此,经过一番调整后,我发现只需添加一个带有 .* 的 fileglob:

- name: copy basic files to folder
  copy:
    src: "{{ item }}"
    dest: ~/data/
    mode: 755
    owner: "www-data"
    group: "www-data"
  with_fileglob:
    - ../files/data/*
    - ../files/data/.*