ansible file 模块

概要

  • 设置文件、符号链接或目录的属性。
  • 或者,删除文件、符号链接或目录。
  • 许多其他模块支持与该模块相同的选项file- 包括复制、模板和组装。
  • 对于 Windows 目标,请改用win_file模块。

参数

parameters(参数) choices/defaults(选项) comments(注释)
access_time 该参数表示应该设置文件访问时间的时间。应该在不需要修改时保留,YYYYMMDDHHMM.SS时使用默认的时间格式,或now。默认为None,这意味着保存是state=[file,directory,link,hard]的默认值,现在是state=touch的默认值。
access_time_format 默认 "%Y%m%d%H%M.%S" 当与access_time一起使用时,表示必须使用的时间格式。
attributes 生成的文件或目录应该具有的属性。要获得支持的标志,请查看目标系统上chatr的手册页。这个字符串应该包含与lsattr显示的相同顺序的属性。=操作符被假定为默认值,否则需要在字符串中包含+-操作符。
follow yes or no,默认yes 这个标志指示文件系统链接(如果存在的话)应该被跟随。
force yes or no,默认no 强制在以下两种情况下创建符号链接:源文件不存在(但稍后会出现);目的地已经存在,并且是一个文件(因此,我们需要取消path文件的链接,并创建到src文件的符号链接来代替它)。
group 应该拥有该文件/目录的组的名称,这将提供给chown。
mode 生成的文件或目录应有的权限。对于那些习惯使用/usr/bin/chmod的人,请记住模式实际上是八进制数字。你必须添加一个前导零,以便Ansible的YAML解析器知道它是一个八进制数字(如0644或01777)或引用它(如’644’或’1777’),以便Ansible接收到一个字符串,并可以进行自己的转换,从字符串到数字。给Ansible一个数字,而不遵循这些规则之一,将结束与一个十进制数字,这将有意想不到的结果。在Ansible 1.8中,模式可以被指定为符号模式(例如,u+rwx或u=rw,g=r,o=r)。
modification_time 该参数表示设置文件修改时间的时间。应该在不需要修改时保留,YYYYMMDDHHMM.SS时使用默认的时间格式,或now。默认为None,这意味着保存是state=[file,directory,link,hard]的默认值,现在是state=touch的默认值。
modification_time_format 默认 "%Y%m%d%H%M.%S" 与“modification_time”一起使用时,表示必须使用的时间格式。
owner 应该拥有文件/目录的用户名,这将被提供给chown。
path 被管理文件的路径。
resource yes or no,默认no 递归地对目录内容设置指定的文件属性。这只适用于将state设置为directory的情况。
selevel 默认“s0” SELinux文件上下文的级别部分。这就是MLS/MCS属性,有时也被称为范围。当设置为_default时,如果可用,它将使用策略的level部分。
serole SELinux文件上下文的角色部分。当设置为_default时,它将使用策略的role部分(如果可用的话)。
setype SELinux文件上下文的类型部分。当设置为_default时,它将使用策略的type部分(如果可用的话)。
seuser SELinux文件上下文的用户部分。在默认情况下它使用系统策略,当设置为_default时,它将使用策略的user部分(如果可用)。
src 要链接的文件的路径。这只适用于state=linkstate=hard。对于state=link,这也将接受一个不存在的路径。相对路径是相对于正在创建的文件(path)的,这是Unix命令ln -s SRC DEST处理相对路径的方式。
state absent or directory or file or hard or link or touch 1、如果absent,目录将被递归删除,文件或符号链接将被解除链接。对于目录,如果声明了diff,您将看到列出在path_contents下的文件和文件夹被删除。注意,如果path不存在,缺席不会导致文件失败,因为状态没有改变。2、如果中间directory不存在,则创建所有中间子目录。因为Ansible 1.7,他们将被创建与提供的权限。3、如果file,没有任何其他选项,这主要作为一个“统计”,并将返回路径的当前状态。即使有其他选项(即模式),文件将被修改,但不会创建如果它不存在;如果你想要那个行为,可以查看触摸值或复制或模板模块。4、如果是hard,则会创建或更改硬链接。5、如果link,符号链接将被创建或更改。6、如果touch(1.4中的新功能),如果path不存在,将创建一个空文件,而现有的文件或目录将接收更新的文件访问和修改时间(类似于touch从命令行工作的方式)。
unsafe_writes yes or no,默认no 影响何时使用原子操作来防止数据损坏或从目标文件进行不一致的读取。默认情况下,该模块使用原子操作来防止数据损坏或不一致地读取目标文件,但有时系统配置或破坏的方式会防止这种情况。一个例子是docker挂载的文件,它不能从容器内部原子地更新,只能以不安全的方式写入。当原子操作失败时,这个选项允许Ansible退回到不安全的方法来更新文件(但是,它不会强迫Ansible执行不安全的写操作)。重要!不安全的写操作会受到竞争条件的影响,并可能导致数据损坏

例子

- name: Change file ownership, group and permissionsfile:path: /etc/foo.confowner: foogroup: foomode: '0644'- name: Give insecure permissions to an existing filefile:path: /workowner: rootgroup: rootmode: '1777'- name: Create a symbolic linkfile:src: /file/to/link/todest: /path/to/symlinkowner: foogroup: foostate: link- name: Create two hard linksfile:src: '/tmp/{{ item.src }}'dest: '{{ item.dest }}'state: hardloop:- { src: x, dest: y }- { src: z, dest: k }- name: Touch a file, using symbolic modes to set the permissions (equivalent to 0644)file:path: /etc/foo.confstate: touchmode: u=rw,g=r,o=r- name: Touch the same file, but add/remove some permissionsfile:path: /etc/foo.confstate: touchmode: u+rw,g-wx,o-rwx- name: Touch again the same file, but dont change times this makes the task idempotentfile:path: /etc/foo.confstate: touchmode: u+rw,g-wx,o-rwxmodification_time: preserveaccess_time: preserve- name: Create a directory if it does not existfile:path: /etc/some_directorystate: directorymode: '0755'- name: Update modification and access time of given filefile:path: /etc/some_filestate: filemodification_time: nowaccess_time: now- name: Set access time based on seconds from epoch valuefile:path: /etc/another_filestate: fileaccess_time: '{{ "%Y%m%d%H%M.%S" | strftime(stat_var.stat.atime) }}'- name: Recursively change ownership of a directoryfile:path: /etc/foostate: directoryrecurse: yesowner: foogroup: foo- name: Remove file (delete file)file:path: /etc/foo.txtstate: absent- name: Recursively remove directoryfile:path: /etc/foostate: absent

ansible file 模块相关推荐

  1. ansible file模块_Ansible: 检测文件是否存在的逻辑

    无论是 Python 还是 Ansible, 最重要的就是实现功能的逻辑. 对于网络工程师来说,Python 和 Ansible是非常便捷的工具和编程思维实现的桥梁,我们在下面的文章将进行一个常见的案 ...

  2. ansible常用模块(command、copy、file、yum、service、firewalld)

    前言: 本篇博客的内容在上一篇博客ansible搭建的基础上完成: 自动化运维工具Ansible的搭建 一.Ansible的command默认模块的简单使用 1.在server1上执行 [devops ...

  3. ansible的模块使用

    查看ansible都有哪些模块: 查看模块的用法: fetch模块:将受管主机中的文件拉取到ansible主机上. 执行完之后,会自动创建192.168.116.152/etc/这个目录,并将拉取来的 ...

  4. Ansible常用模块详解

    Ansible常用模块 2015年底270多个模块,2016年达到540个,2018年01月12日有1378个模块,2018年07月15日1852个模块,2019年05月25日(ansible 2.7 ...

  5. ansible(自动化运维中)——ansible常用模块

    shell模块 #帮助 ansible-doc shell #获取主机名 ansible webserver -m shell -a 'hostname' -o #指定线程数(默认线程数是5) ans ...

  6. 03 ansible核心模块 之 文件类型模块

    补充说明:ansible软件输出颜色说明 01.绿色信息:查看主机颜色/对主机未做改动 02.黄色信息:对主机数据信息做了修改 03.红色信息:命令执行出错了 04.粉色信息:忠告信息 05.蓝色信息 ...

  7. python ansible模块_Python之——Ansible常用模块及API,pythonansibleapi

    Python之--Ansible常用模块及API,pythonansibleapi 转载请注明出处:http://blog.csdn.net/l1028386804/article/details/7 ...

  8. ansible当中模块的使用

    1.command,shell,raw,script模块的作用和区别    command 模块的使用: 去执行一个脚本文件command.sh, command.sh文件的功能是echo " ...

  9. 2. ansible常用模块

    Ansible通过模块的方式来完成一些远程的管理工作. ansible-doc -l查看所有模块 ansible-doc -s module来查看某个模块的参数, ansible-doc help m ...

最新文章

  1. 拖拽批量上传图片如何保证 顺序_使用 Eagle 探索图片管理新边界
  2. 服务器负载均衡的部署方式
  3. OpenCV之ml 模块. 机器学习:支持向量机(SVM)介绍 支持向量机对线性不可分数据的处理
  4. html5 java 图片上传_java实现图片上传至服务器并显示,如何做?希望要具体的代码实现...
  5. 双稳态继电器工作原理图_三招带你分清继电器与接触器
  6. 数据结构与算法 | LeetCode 224. Basic Calculator
  7. 程序员相亲竟然因为这个被拒绝了......
  8. 不同笔记本电脑BIOS的进入方法:
  9. 【CSS】【7】CSS的盒子模型
  10. 关于Alipay支付宝接口(Java版)下
  11. Zabbix结合Mojo-Webqq实现告警
  12. 微服务使用模块化时候导入公共模块导致maven更新依赖错误问题
  13. (多项式)因式分解定理(Factor theorem)与多项式剩余定理(Polynomial remainder theorem)(多项式长除法)
  14. 印象笔记Markdown思维导图
  15. 关于ENVI中的ROI
  16. Linux-dd命令
  17. LeetCode:390. 消除游戏————中等
  18. 3055. 字符频率
  19. 期货从入门到高深之量化交易1
  20. 魔兽世界盒子怎么修改服务器地址,多玩魔盒怎么设置界面 多玩魔兽盒子多玩界面调整教程...

热门文章

  1. Three.js+mapbox 快速构建三维城市可视化效果,三维城市漫游!
  2. 微积微发之query操作checkbox选中
  3. 【js】js资料(2)
  4. linux 挂载 win网络共享盘
  5. 音乐web网站搭建思路
  6. Oracle中的NVL函数
  7. 数据库中删除数据常用命令-truncate、drop、delete
  8. 用python画一个哆啦A梦
  9. python哆啦a梦完整代码_哆啦a梦.py · ye_ruixin/python2020 - Gitee.com
  10. Java炒鸡重要知识点:多态!!!