2017-09-05 89 views
2

我使用下面的任务在我Ansible脚本将所有文件从本地数据文件夹复制到服务器:如何使with_fileglob包含隐藏文件?

- 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也包含隐藏文件?

回答

3

Ansible uses Python的glob

如果目录包含以.开头的文件,那么默认情况下它们将不匹配。

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

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

+0

我刚刚找到自己的答案为好。但我会接受你的。谢谢! – kramer65

2

好的,自己找到答案。我发现with_fileglob只是简单地调用python glob.glob()函数。因此,一些fideling左右,我发现后,刚刚与.*添加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/.* 
+0

我快了18秒;) – techraf

+0

你是对的!你得到的学分!谢谢,祝你美好的一天! – kramer65