ansible模块之file模块和mount模块(九)

网友投稿 630 2022-05-29

1.File模块

语法格式

ansible 主机组 -m file -a "path=目标路径 owner=属主 group=属组 mode=权限" 参数 path //目录文件路径,相当于copy模块的dest,其他模块的name src //源文件路径 owner //属主 group //属组 mode //权限 state //控制状态 absent //删除 directory //创建目录 file //修改文件属性(默认) touch //创建文件 link hard //链接 recurse //递归,recurse=yes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

案例1:修改目录/data属性,属主6666,属组6666

[root@ansible ~]# ansible all -m file -a "path=/data owner=6666 group=6666"

1

案例2:创建/data2目录,并设置父目录、子目录属主属组都为6666并且权限为755

[root@ansible ~]# ansible all -m file -a "path=/data2 owner=linux group=linux mode=755 state=directory recurse=yes" 192.168.81.220 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": true, "gid": 6666, "group": "linux", "mode": "0755", "owner": "linux", "path": "/data2", "size": 6, "state": "directory", "uid": 6666 } [root@ansible ~]# ansible all -m command -a "ls -ld /data2" 192.168.81.220 | CHANGED | rc=0 >> drwxr-xr-x 2 linux linux 6 6月 7 18:11 /data2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

案例3:创建文件

ansible模块之file模块和mount模块(九)

[root@ansible ~]# ansible all -m file -a "name=/data2/aa.txt state=touch"

1

案例4:创建链接文件

[root@ansible ~]# ansible all -m file -a "src=/etc/hosts path=/tmp/hosts state=link"

1

2.mount模块

语法格式

ansible 主机组 -m mount -a "src=设备路径 path=挂载点 fstype=文件系统 state=挂载类型" 参数 path //挂载点 src //需要挂载的设备 fstype //挂载设备的文件系统 iso9660 //光驱 ext4、xfs、nfs cifs samba的共享文件系统 ntfs windows磁盘文件系统 opts //挂载属性 notime noexec nosuid state //挂载动作 present //开机挂载,仅将挂载配置写入/etc/fstab并不会真的挂载 mounted //挂载设备,并将配置写入/etc/fstab unmounted //卸载设备,不会清除/etc/fstab写入的配置 absent //卸载设备,并清理/etc/fstab写入的配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

案例:配置nfs服务

1.安装服务器

[root@ansible ~]# ansible nfs -m yum -a "name=nfs-utils state=installed"

1

2.修改配置文件

方法1:通过传输文件来实现 [root@ansible ~]# mkdir /server/conf -p [root@ansible ~]# echo "/data 192.168.81.0/24(rw,sync,all_squash,anonuid=6666,anongid=6666)" > /server/conf/exports [root@ansible ~]# ansible nfs -m copy -a "src=/server/conf/exports dest=/etc/" 方法2:使用copy模块的content参数 [root@ansible ~]# ansible nfs -m copy -a "content='/data 192.168.81.0/24(rw,sync,all_squash,anonuid=6666,anongid=6666)' dest=/etc/exports"

1

2

3

4

5

6

7

8

3.启动服务

[root@ansible ~]# ansible nfs -m service -a "name=rpcbind state=restarted" [root@ansible ~]# ansible nfs -m service -a "name=nfs state=restarted"

1

2

3

4.创建用户、目录、并修改所属

创建组 [root@ansible ~]# ansible nfs -m group -a "name=linuxnfs gid=6666" 创建用户 [root@ansible ~]# ansible nfs -m user -a "name=linux uid=6666 group=6666 shell=/bin/bash create_home=yes" 创建目录并修改所属 [root@ansible ~]# ansible nfs -m file -a "path=/data2 owner=linuxnfs group=linuxnfs state=directory recurse=yes"

1

2

3

4

5

6

7

8

9

5.在web上挂载nfs目录

[root@ansible ~]# ansible web -m mount -a "src=192.168.81.230:/data2 path=/var/www/html fstype=nfs state=mounted"

1

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux中Shell重定向
下一篇:给自己搭一个金融数据库(三)
相关文章