Ansible学习笔记4

file模块:

file模块用于对文件相关的操作(创建、删除、属性修改、软链接等)touch是创建。

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/111 state=touch"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/111",
    "gid": 0,
    "group": "root",
    "mode": "0644",
    "owner": "root",
    "size": 0,
    "state": "file",
    "uid": 0
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/111",
    "gid": 0,
    "group": "root",
    "mode": "0644",
    "owner": "root",
    "size": 0,
    "state": "file",
    "uid": 0
}
[root@localhost ~]# ansible group1 -m file -a "path=/tmp/111 state=touch owner=ftp group=daemon mode=777"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/111",
    "gid": 2,
    "group": "daemon",
    "mode": "0777",
    "owner": "ftp",
    "size": 0,
    "state": "file",
    "uid": 14
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/111",
    "gid": 2,
    "group": "daemon",
    "mode": "0777",
    "owner": "ftp",
    "size": 0,
    "state": "file",
    "uid": 14
}

Ansible学习笔记4_第1张图片

创建目录,并更改权限:directory:

[root@localhost ~]# ansible group1 -m file -a "path=/test/aaa/bbb state=directory mode=777"
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 0,
    "group": "root",
    "mode": "0777",
    "owner": "root",
    "path": "/test/aaa/bbb",
    "size": 6,
    "state": "directory",
    "uid": 0
}
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 0,
    "group": "root",
    "mode": "0777",
    "owner": "root",
    "path": "/test/aaa/bbb",
    "size": 6,
    "state": "directory",
    "uid": 0
}
[root@agent1 tmp]# cd /test/aaa/bbb
[root@agent1 bbb]# ll
total 0
[root@agent1 bbb]# pwd
/test/aaa/bbb

删除文件:absent

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/112 state=absent"
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "path": "/tmp/112",
    "state": "absent"
}
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "path": "/tmp/112",
    "state": "absent"
}

absent:没有、缺席、缺乏的意思。

删除目录:

[root@localhost ~]# ansible group1 -m file -a "path=/test state=absent"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "path": "/test",
    "state": "absent"
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "path": "/test",
    "state": "absent"
}

absent:目录将会递归被删除。文件和软链接将会unlinked。

创建软链接:

[root@localhost ~]# ansible group1 -m file -a "src=/tmp/111 path=/tmp/222 state=link"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/222",
    "gid": 0,
    "group": "root",
    "mode": "0777",
    "owner": "root",
    "size": 8,
    "src": "/tmp/111",
    "state": "link",
    "uid": 0
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/222",
    "gid": 0,
    "group": "root",
    "mode": "0777",
    "owner": "root",
    "size": 8,
    "src": "/tmp/111",
    "state": "link",
    "uid": 0
}

Ansible学习笔记4_第2张图片

我们看到软链接的文件的大小稍微大点。

硬链接:hard

[root@localhost ~]# ansible group1 -m file -a "src=/tmp/111 path=/tmp/555 state=hard"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/555",
    "gid": 2,
    "group": "daemon",
    "mode": "0777",
    "owner": "ftp",
    "size": 0,
    "src": "/tmp/111",
    "state": "hard",
    "uid": 14
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "dest": "/tmp/555",
    "gid": 2,
    "group": "daemon",
    "mode": "0777",
    "owner": "ftp",
    "size": 0,
    "src": "/tmp/111",
    "state": "hard",
    "uid": 14
}

硬链接是看inode号。

Ansible学习笔记4_第3张图片

group的组配置,要注意下是要存在的。

修改硬链接的属性:file ,如果是硬链接,就需要添加state=file,这个要注意的。

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/555 state=file owner=ftp group=daemon mode=000"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 2,
    "group": "daemon",
    "mode": "0000",
    "owner": "ftp",
    "path": "/tmp/555",
    "size": 0,
    "state": "hard",
    "uid": 14
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 2,
    "group": "daemon",
    "mode": "0000",
    "owner": "ftp",
    "path": "/tmp/555",
    "size": 0,
    "state": "hard",
    "uid": 14
}

Ansible学习笔记4_第4张图片

修改文件的拥有者和属组:

[root@localhost ~]# ansible group1 -m file -a "path=/tmp/aaa owner=ftp group=daemon mode=000"
192.168.17.105 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 2,
    "group": "daemon",
    "mode": "0000",
    "owner": "ftp",
    "path": "/tmp/aaa",
    "size": 0,
    "state": "file",
    "uid": 14
}
192.168.17.106 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 2,
    "group": "daemon",
    "mode": "0000",
    "owner": "ftp",
    "path": "/tmp/aaa",
    "size": 0,
    "state": "file",
    "uid": 14
}

Ansible学习笔记4_第5张图片

你可能感兴趣的:(Ansible,ansible)