如何让 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
也包含隐藏文件吗?
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/.*
我在我的 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
也包含隐藏文件吗?
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/.*