首页 > 其他分享 >Ansible内置模块之file

Ansible内置模块之file

时间:2024-07-31 18:28:23浏览次数:16  
标签:内置 ansible state builtin Ansible file path foo

  • RHCE9.0 (点击查看课程介绍) 

  • 上课课时:72课时/12天+考试辅导1-2天

  • 开班频率:2个月开一期

  • 最新新班:7月27日 周末班

  • 上课方式:面授/直播;提供随堂录播


    图片

    ansible.builtin.file 模块用于管理文件和目录的属性。可以创建、删除文件或目录,修改文件权限、所有者等属性。

    01  选项说明:

    选项

    必须

    类型

    默认值

    说明

    path

    str

    要管理的文件或目录的路径

    state

    str

    状态或类型。可为 file,directory,absent,link 等

    mode

    str

    权限,如 0644、0755 等

    owner

    str

    所有者

    group

    str

    属组

    recurse

    bool

    no

    是否递归更改目录及其内容的所有者、组和权限

    src

    str

    用于创建符号链接时,指向源文件的路径

    force

    bool

    no

    在创建符号链接或硬链接时,如果目标已存在,是否强制替换

    selevel

    str

    设置文件或目录的 SELinux 安全级别

    serole

    str

    设置文件或目录的 SELinux 角色

    setype

    str

    设置文件或目录的 SELinux 类型

    seuser

    str

    设置文件或目录的 SELinux 用户

    02  用例:

    # 创建或修改一个文件的属主,属组及权限            
    - name: Change file ownership, group and permissions            
      ansible.builtin.file:            
        path: /etc/foo.conf            
        owner: foo            
        group: foo            
        mode: '0644'            
               
    # 创建一个目录            
    - name: Create a directory if it does not exist            
      ansible.builtin.file:            
        path: /etc/some_directory            
        state: directory            
        mode: '0755'            
               
    # 创建一个带httpd_sys_content_t标签的目录            
    - name: Create the /webdev directory with SELinux label            
      ansible.builtin.file:            
        path: /webdev            
        state: directory            
        group: webdev            
        setype: httpd_sys_content_t            
        mode: '2775'            
               
    # 递归修改目录属主和属组            
    - name: Recursively change ownership of a directory            
      ansible.builtin.file:            
        path: /etc/foo            
        state: directory            
        recurse: yes            
        owner: foo            
        group: foo            
               
    # 创建一个连接文件            
    - name: Create a symbolic link            
      ansible.builtin.file:            
        src: /file/to/link/to            
        dest: /path/to/symlink            
        owner: foo            
        group: foo            
        state: link            
               
    # 强制创建/更新link地址            
    - name: Force replace an existing symbolic link            
      ansible.builtin.file:            
        src: /etc/newsourcefile            
        path: /etc/linkfile            
        state: link            
        force: yes            
               
    # 更新修改和访问时间            
    - name: Update modification and access time of given file            
      ansible.builtin.file:            
        path: /etc/some_file            
        state: file            
        modification_time: now            
        access_time: now            
               
    # 更新文件访问时间            
    - name: Set access time based on seconds from epoch value            
      ansible.builtin.file:            
        path: /etc/another_file            
        state: file            
        access_time: '{{ "%Y%m%d%H%M.%S" | strftime(stat_var.stat.atime) }}'            
               
    # 删除文件            
    - name: Remove file (delete file)            
      ansible.builtin.file:            
        path: /etc/foo.txt            
        state: absent            
               
    # 递归删除目录            
    - name: Recursively remove directory            
      ansible.builtin.file:            
        path: /etc/foo            
        state: absent            


     

    往期相关文章推荐

  • Ansible 命令行指南

  • 在RHEL 9上使用Ansible安装GitLab CE

  • 16张PPT让你一小时学会Ansible

  • 一文看懂Ansible自动化运维

标签:内置,ansible,state,builtin,Ansible,file,path,foo
From: https://blog.csdn.net/XMWS_IT/article/details/140803215

相关文章

  • maven jar包 导入 添加 本地仓库 指定仓库 (mvn install:install-file)
    有时候会遇到将jar包导入本地仓库的需求。因为有些驱动包比较冷门,在公司的私服(远程仓库)里没有,为了在本地先跑起来,先添加到本地仓库。一、指定仓库执行命令: mvninstall:install-file-Dfile=D:\java\mavenData\xxxJdbcDriver2.jar-DgroupId=com.ali-DartifactId=xxx-jdbc......
  • 交叉编译&Makefile基础
    1交叉编译简介1.1什么是交叉编译本地编译:在当前编译平台下,编译出来的程序只能放到当前平台下运行在当前编译平台下,编译出来的程序运行在体系结构不同的另外一种目标平台上,但是编译平台本身不能运行该程序1.2为什么会有交叉编译Speed:目标平台的运行速度比主机慢很多,嵌......
  • 如何在Python中处理FileNotFoundException
    我有一个函数可以从路径读取avro文件(按日文件夹)并将其写入相同的路径(聚合到按月的文件夹)。如果文件夹有.avro文件,该函数可以正常工作。但如果文件夹为空,我会收到错误。java.io.FileNotFoundException:Noavrofilesfound.Iffilesdon'thave.avroextension,set......
  • 6.调整内置控件
    每个.NET控件都有许多方法,每个方法都以前缀On命名,例如OnInitialized或OnApplyTemplate。这些是受保护的方法,可以在任何扩展.NET控件的自定义类中重写。它们在控件生命周期中的某些点被调用,使我们能够更改每个控件的默认行为。它们使我们能够做一些简单的事情,例......
  • 学习makefile(一)
    1、makefile基础对于从事嵌入式开发的朋友们,学会MK非常重要。对于部分朋友在别人已经搭建好的开发平台上扩展一些功能的开发工作,上手很快。但是一但遇到编译相关的问题,就显得束手无策。(本人也是基于这个原因,此次开始系统学习Makefile)。关于编译问题主要有两个方面1:代码的语法......
  • File概述和File的构造方法
    File是什么    File对象表示路径,可以是文件,可以是文件夹,路径可以存在,可以不存在绝对路径vs相对路径    绝对路径:带盘符    相对路径:不带盘符,默认到当前项目下去找File的三种构造方法packagecom.chen.bao3;importjava.io.File;publi......
  • Python 69个 常用 内置函数 之 总结+实例 篇
    1.abs()返回一个数的绝对值print(abs(-5))#输出5print(abs(5))#输出52.dict()创建一个字典my_dict=dict(name="Alice",age=25)print(my_dict)#输出{'name':'Alice','age':25}3.help()用于获取关于对象的帮助信息help(......
  • Ansible 学习与扩展整理
    一、Ansible基础知识回顾核心组件主机清单(HostInventory):定义了Ansible可以管理的目标机器列表。模块(Modules):Ansible执行特定任务的最小单位,类似于命令行工具或脚本。插件(Plugins):扩展Ansible功能,如连接插件、回调插件等。Playbook:YAML格式的文件,定义了Ansi......
  • Python - Redirecting output of print to a file
    Theprintfunctioncanalsobeusedtowritetoafile.Theoutputofprint,thatisbydefault,senttothescreencanberedirectedtoanopenfile.Forthis,youhavetosupplythefileobjectasanargumentforthenamedparameterfile.Hereisanexa......
  • canal 报错:Could not find first log file name in binary log index file
    canalwiki地址:https://github.com/alibaba/canal/wiki/canal报错:Couldnotfindfirstlogfilenameinbinarylogindexfile1、canal_deployer日志报错:2024-07-2914:25:21.624[destination=example,address=/192.168.1.7:3306,EventParser]ERRORc.a.o.c.p.......