ansible删除目录下所有内容的方法

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

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

- 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.创建文件,删除单个文件

- 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.删除某个目录下的所有文件,或者符合条件的文件名

#先使用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

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

(0)

相关推荐

  • 集中化管理平台Ansible详解

    Ansible一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台.Ansible具有如下特点: 部署简单,只需在主控制端部署Ansible环境,被控端无需做任何操作: 默认使用SSH协议对设备进行管理: 主从集中化管理: 配置简单,功能强大,扩展性强 通过Playbooks来定制强大的配置.状态管理; 一.Ansible安装 1.环境配置 角色 主机名 IP 组名 msster Automation 192.168.1.23 cleint test1 192.168.1.24 webs

  • 集群运维自动化工具ansible的安装与使用(包括模块与playbook使用)第1/2页

    我使用过puppet与salt,但这2个软件都需要安装客户端,并且更新很快,每次更新都是令人蛋疼的事,尤其是salt,喜欢他的命令功能,但bug太多,不敢在公司线上使用,puppet虽然稳定,但弄命令执行的时候,需要mco配置,非常麻烦,我公司由于跟多家公司合作,很多业务没办法安装客户端,所以没办法使用puppet与salt(虽然salt有ssh,但不太好使),最后找到了ansible,他既有命令执行也有配置管理,关键开发它的语言是python,paramiko进行ssh连接,跟我之前开发的自动

  • ansible删除目录下所有内容的方法

    使用ansible的同学都知道,ansible只支持新增删除具体的某个文件夹或者文件,如下所示: 1. 创建目录,删除整个目录 - 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

  • R语言批量读取某路径下文件内容的方法

    R刚入门的时候,能够正确读取单个文件就觉得小有成就,随着时间的积累,单一文件地读取已经不能满足需求了,此时,批量地做就是解放双手地过程. 使用for循环把下载地TCGA数据读入R语言并转换成数据框 使用三个for循环来完成,这是第一个for循环. 1. 把所有数据读入在一个文件夹中 dir.create("data_in_one") #创建目标文件夹,也可右键创建 dir("rawdata/") #查看原路径的内容 for (dirname in dir("

  • ajax局部刷新一个div下jsp内容的方法

    用AJAX刷新一个DIV中的jsp内容 复制代码 代码如下: <script type="text/javascript"> var xmlhttp; function startrefresh(){ xmlhttp=new XMLHttpRequest(); xmlhttp.open("POST,"ss.jsp",true); xmlhttp.setRequestHeader("Content-type","ap

  • Python简单实现自动删除目录下空文件夹的方法

    本文实例讲述了Python简单实现自动删除目录下空文件夹的方法.分享给大家供大家参考,具体如下: 总是发现电脑用上一段时间,各种软件生成各种目录,可是这些目录都是空文件夹,感觉没用,或许有些许强迫症吧,每次看到都会去删除掉他们,有时候真的太多了,让人删除起来就蛋疼,最近学习Python,特别希望搞些有用的小脚本,然后就开始使用python搞起了这个小脚本的编写. 因为完全是个初学者,所以写起脚本来,各种百度,google,可到最后我写的脚本也不能达到我的目的,只能删除一级目录下的空文件夹,而子目

  • Python简单删除目录下文件以及文件夹的方法

    本文实例讲述了Python简单删除目录下文件以及文件夹的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python import os import shutil filelist=[] rootdir="/home/zoer/aaa" filelist=os.listdir(rootdir) for f in filelist: filepath = os.path.join( rootdir, f ) if os.path.isfile(filepath):

  • Java删除指定文件夹下的所有内容的方法(包括此文件夹)

    如下所示: // 删除文件夹 private static void deleteDirectory(File file) { if (file.isFile()) {// 表示该文件不是文件夹 file.delete(); } else { // 首先得到当前的路径 String[] childFilePaths = file.list(); for (String childFilePath : childFilePaths) { File childFile = new File(file

  • php遍历替换目录下文件指定内容的方法

    本文实例讲述了php遍历替换目录下文件指定内容的方法.分享给大家供大家参考,具体如下: 在php中目录访问需要遍历了然后文件需要一个个打开进行访问操作了,下面我们来看一段php 替换目录下文件指定内容,具体如下: /**************************** * 获取目录下的所有文件 * [$dir] 文件夹路径 ****************************/ function deepScanDir($dir) { $fileArr = array (); $dirA

  • python2.7读取文件夹下所有文件名称及内容的方法

    最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础.废话不多说,记录一下自己的所得. 首先,安装什么的不在本人的温习范围,另,本人使用的是windows下的python2.7版本,且本人相对来说只是小白,各位看官勿喷哈. python,本身来说是一门高级编程语言,有句话怎么说来着,越是高级的程序越简单,这几句话在表面来说是正确的.python它入门简单,有基础的学起来很快就能有简单的应用,但是在非常高的抽象计算中,高级的python程序设计也是非常难学的.我之所以学它,单纯的是

  • Linux删除目录下的文件的10种方法小结

    看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -type f -exec rm -f {} \; #用find命令查找普通文件并删除or用find命令的处理动作将其删除 3.find . -type f | xargs rm -f #用于参数列表过长;要删除的文件太多 4.rm

  • pycharm下查看python的变量类型和变量内容的方法

    用过Matlab的同学基本都知道,程序里面的变量内容可以很方便的查看到,但python确没这么方便,对于做数据处理的很不方便,其实不是没有这个功能,只是没有发现而已,今天整理一下供大家相互学习. 首先,在程序的某一处添加断点,点击行号右边部分红处,如下图所示: 添加断点后,选择debug程序,快捷键在pycharm的右上角. debug过程中,pycharm的下方工作区域内会相应显示: Variables窗口中的变量可以右击,Add to Watches,然后在Watches窗口中可以看到所选数

随机推荐