• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
问园会馆 显示全部楼层 发表于 2021-10-26 14:18:04 |阅读模式 打印 上一主题 下一主题
使用ansible的同砚都知道,ansible只支持新增删除详细的某个文件夹大概文件,如下所示:

1. 创建目录,删除整个目录
  1. - name: Create a directory if it does not exist
  2. file:
  3.   path: /appvol/some_directory
  4.   state: directory
  5.   mode: '0755'
  6. - name: Remove a directory if it exist
  7. file:
  8.   path: /appvol/some_directory
  9.   state: absent
复制代码
2.创建文件,删除单个文件
  1. - name: Create a file if it does not exist
  2. file:
  3.   path: /appvol/some_directory/hello.txt
  4.   state: touch
  5.   mode: '0755'
  6. - name: Remove a file if it exist
  7. file:
  8.   path: /appvol/some_directory/hello.txt
  9.   state: absent
复制代码
对于某些场景,我们想清空log文件夹大概缓存文件夹,这个时候就仅仅需要删除目录下的全部内容而已。

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

以上就是本文的全部内容,渴望对各人的学习有所资助,也渴望各人多多支持草根技术分享。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作