小知识:ansible删除目录下所有内容的方法

使用ansible的同学都知道,ansible只支持新增删除具体的某个文件夹或者文件,如下所示:

1. 创建目录,删除整个目录

?
1
2
3
4
5
6
7
8
9
10
name: Create a directory if it does not exist
file:
path: /appvol/some_directory
state: directory
mode: 0755
name: Remove a directory if it exist
file:
path: /appvol/some_directory
state: absent

2.创建文件,删除单个文件

?
1
2
3
4
5
6
7
8
9
10
11
– name: Create a file if it does not exist
file:
path: /appvol/some_directory/hello.txt
state: touch
mode: 0755
– name: Remove a file if it exist
file:
path: /appvol/some_directory/hello.txt
state: absent

对于某些场景,我们想清空log文件夹或者缓存文件夹,这个时候就仅仅需要删除目录下的所有内容而已。

3.删除某个目录下的所有文件,或者符合条件的文件名

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#先使用shell模块获取该目录下所有文件名,并且存储到一个变量files_list
– name: list the files of dir some_directory
shell: ls
args:
chdir: /appvol/some_directory
register: files_list
#使用with_items属性,将files_list变量以lines的形式输出,再借助file模块循环删除每个文件
– name: Remove a directory if it does not exist
file:
path: /appvol/some_directory/{{ item }}
state: absent
with_items:
– “{{ files_list.stdout_lines }}”

参考ansible官方文档:

ansible file 模块参考: refer to https://docs.ansible.com/ansible/latest/modules/file_module.html?highlight=file

ansible shell模块参数:https://docs.ansible.com/ansible/latest/modules/shell_module.html?highlight=shell

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000019557265

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解

2023-4-27 16:43:19

建站知识

小知识:树莓派 msmtp和mutt 的安装和配置教程

2023-4-27 16:58:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索