码迷,mamicode.com
首页 > 其他好文 > 详细

Ansible软件管理模块(yum模块 copy模块 file模块 )

时间:2020-10-07 21:26:48      阅读:31      评论:0      收藏:0      [点我收藏+]

标签:head   focus   src   tps   tmp   end   version   mirrors   ons   

 

 

1.yum模块

 

1)语法帮助

 

[root@m01 ~]# ansible-doc yum
EXAMPLES:
- name: install the latest version of Apache
  yum:
    name: httpd
    state: latest

name:
    httpd                        #服务的名字
    http://                         #软件包网上的地址
    /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm        #本地的rpm包
state:
    latest                        #安装最新的版本
    present                        #安装
    absent                        #卸载

 

2)yum实例

#名字安装httpd
[root@m01 ~]# ansible web_group -m yum -a name=httpd state=present
#类似于在远程机器上执行 yum install -y httpd

#使用网上软件包安装
1.找到网上的包
https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.1-1.el7.x86_64.rpm
2.安装
[root@m01 ~]# ansible web_group -m yum -a name=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.1-1.el7.x86_64.rpm state=present
#类似于在远程机器上执行 yum install -y https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.1-1.el7.x86_64.rpm

#使用本地包安装
1.上传包(上传到web端)
2.安装
[root@m01 ~]# ansible web_group -m yum -a name=/tmp/nginx-1.16.1-1.el7.ngx.x86_64.rpm state=present
#类似于在远程机器上执行 yum localinstall -y /tmp/nginx-1.16.1-1.el7.ngx.x86_64.rpm

 

2.copy模块

 

1)帮助语法

 

[root@m01 ~]# ansible-doc copy
EXAMPLES:
- name: Copy file with owner and permissions
  copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: 0644
    backup: yes
    follow: yes
    content: # This file was moved to /etc/other.conf
    
src:             #源路径(要进行copy的文件,文件在控制端)
dest:             #目标路径(在受控端)
owner:             #文件推过去之后的属主
group:             #文件推过去之后的属组
mode:            #文件推过去之后的权限
backup:            #文件件是否备份
    yes            #备份
    no            #不备份
follow:            #是否识别软链接
    yes
    no
content:        #直接写入内容到文件

 

2)copy模块实例

 

#推送nginx官方源
[root@m01 ~]# ansible web_group -m copy -a src=/etc/yum.repos.d/nginx.repo dest=/etc/yum.repos.d/

#推送文件并授权
[root@m01 ~]# ansible web_group -m copy -a src=/root/test.conf dest=/etc/nginx/conf.d/ owner=root group=root mode=777

#推送文件并备份
[root@m01 ~]# ansible web_group -m copy -a src=/code/index.html dest=/code owner=nginx group=nginx mode=0644 backup=yes

#识别软链接
[root@m01 ~]# ansible web_group -m copy -a src=/root/test dest=/tmp owner=nginx group=nginx mode=0644 follow=yes
[root@m01 ~]# ansible web_group -m copy -a src=/root/test dest=/tmp owner=nginx group=nginx mode=0644 follow=no

#直接写入内容到文件
[root@m01 ~]# ansible web_group -m copy -a content="123456" dest=/etc/rsync_password mode=0600

 

 

 

3.file模块

 

1)帮助语法

[root@m01 ~]# ansible-doc file
EXAMPLES:
- name: Change file ownership, group and permissions
  file:
    path: /etc/foo.conf
    owner: foo
    group: foo
    mode: 0644
    state: link,hard,touch,directory,absent
    recurse: yes

src:            #源文件(如果做软链接就是远程机器上的文件)
dest:            #目标文件(如果做软链接就是远程机器上的链接文件)
path:            #路径/文件
owner:            #文件或目录的属主
group:            #文件或目录的属组
mode:            #文件或目录的权限
state:
    link        #软链接
    touch        #创建文件
    directory    #创建目录
    absent        #删除
recurse:        #递归操作
    yes

 

2)file模块实践

 

1.创建目录
[root@m01 ~]# ansible web_group -m file -a path=/code state=directory
#相当于到远程机器 mkdir /code

2.创建目录并授权
[root@m01 ~]# ansible web01 -m file -a path=/code state=directory owner=nginx group=nginx mode=755
#相当于执行 mkdir /code && chown -R nginx.nginx /code && chmod 755 /code

3.递归创建目录
[root@m01 ~]# ansible web01 -m file -a path=/code/wordpress/wp-content/uploads state=directory owner=nginx group=nginx mode=755
    1)如果目录不存在则创建并递归授权
    2)如果目录上级存在,则只授权新创建的目录

4.递归授权目录
[root@m01 ~]# ansible web01 -m file -a path=/code state=directory owner=nginx group=nginx mode=755 recurse=yes

5.创建文件
[root@m01 ~]# ansible web01 -m file -a path=/code/1.txt state=touch owner=nginx group=nginx mode=666

6.删除文件
[root@m01 ~]# ansible web01 -m file -a path=/code/index.html state=absent

7.做软连接
[root@m01 ~]# ansible web01 -m file -a src=/code/wordpress dest=/code/link state=link

#注意:
    1.创建文件时,上层目录必须存在

 

 

Ansible软件管理模块(yum模块 copy模块 file模块 )

标签:head   focus   src   tps   tmp   end   version   mirrors   ons   

原文地址:https://www.cnblogs.com/chenlifan/p/13777201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!