• Ansible常用模块-file模块


    一、概述
    file 模块可以帮助我们完成一些对文件的基本操作。比如,创建文件或目录、删除文件或目录、修改文件权限等。

    二、常用参数
    path参数 :必须参数,用于指定要操作的文件或目录,在之前版本的ansible中,使用dest参数或者name参数指定要操作的文件或目录,为了兼容之前的版本,使用dest或name也可以。

    state参数 :此参数非常灵活,其对应的值需要根据情况设定。比如,我们想要在远程主机上创建/testdir/a/b目录,那么则需要设置path=/testdir/a/b,但是,我们无法从”/testdir/a/b“这个路径看出b是一个文件还是一个目录,ansible也同样无法单单从一个字符串就知道你要创建文件还是目录,所以,我们需要通过state参数进行说明。当我们想要创建的/testdir/a/b是一个目录时,需要将state的值设置为directory,”directory”为目录之意,当它与path结合,ansible就能知道我们要操作的目标是一个目录。同理,当我们想要操作的/testdir/a/b是一个文件时,则需要将state的值设置为touch。当我们想要创建软链接文件时,需将state设置为link。想要创建硬链接文件时,需要将state设置为hard。当我们想要删除一个文件时(删除时不用区分目标是文件、目录、还是链接),则需要将state的值设置为absent,”absent”为缺席之意,当我们想让操作的目标”缺席”时,就表示我们想要删除目标。

    src参数 :当state设置为link或者hard时,表示我们想要创建一个软链或者硬链,所以,我们必须指明软链或硬链链接的哪个文件,通过src参数即可指定链接源。

    force参数 : 当state=link的时候,可配合此参数强制创建链接文件,当force=yes时,表示强制创建链接文件。不过强制创建链接文件分为三种情况。情况一:当要创建的链接文件指向的源文件并不存在时,使用此参数,可以先强制创建出链接文件。情况二:当要创建链接文件的目录中已经存在与链接文件同名的文件时,将force设置为yes,会将同名文件覆盖为链接文件,相当于删除同名文件,创建链接文件。情况三:当要创建链接文件的目录中已经存在与链接文件同名的文件,并且链接文件指向的源文件也不存在,这时会强制替换同名文件为链接文件。

    owner参数 :用于指定被操作文件的属主,属主对应的用户必须在远程主机中存在,否则会报错。

    group参数 :用于指定被操作文件的属组,属组对应的组必须在远程主机中存在,否则会报错。

    mode参数:用于指定被操作文件的权限,比如,如果想要将文件权限设置为”rw-r-x---“,则可以使用mode=650进行设置,或者使用mode=0650,效果也是相同的。如果想要设置特殊权限,比如为二进制文件设置suid,则可以使用mode=4700。

    recurse参数:当要操作的文件为目录,将recurse设置为yes,可以递归的修改目录中文件的属性。

    三、示例
    1.在 ansible-demo3 主机上创建一个名为 testfile1 的文件,如果 testfile1 文件已经存在,则会更新文件的时间戳,与 touch 命令的作用相同。

    [root@ansible-manager ~]# ansible ansible-demo3 -m file -a "path=/testdir/testfile1 state=touch"
    ansible-demo3 | SUCCESS => {
        "changed": true, 
        "dest": "/testdir/testfile1", 
        "gid": 0, 
        "group": "root", 
        "mode": "0644", 
        "owner": "root", 
        "secontext": "unconfined_u:object_r:default_t:s0", 
        "size": 8, 
        "state": "file", 
        "uid": 0
    }
     

  • 相关阅读:
    Cy3/5/7标记多肽/PEG/聚合物/磷脂----为华生物
    四十九、Hadoop HA部署(MINI版)
    目标检测算法——3D公共数据集汇总(附下载链接)
    前端实现界面切换主题
    第一章:各种款式的算法复杂度例子+计算小技巧
    IROS 2022 | 基于实例编码Transformer的3D零件装配,性能提升10%
    Vuex详解,一文彻底搞懂Vuex
    还在分不清各种IO模型?
    实力认证|云畅科技入选长沙软件和信息技术服务业全景图
    Faiss原理和使用总结
  • 原文地址:https://blog.csdn.net/rqaz123/article/details/126382703