Ansible服务常用命令模块详细解析(4)

[root@promote ~]# ansible web -m file -a 'src=/opt/fstab.bk path=/opt/fstab.bk.link state=link'
192.168.199.130 | CHANGED => {
    "changed": true,
    "dest": "/opt/fstab.bk.link",
    "gid": 0,
    "group": "root",
    "mode": "0777",
    "owner": "root",
    "secontext": "unconfined_u:object_r:usr_t:s0",
    "size": 13,
    "src": "/opt/fstab.bk",
    "state": "link",
    "uid": 0
}

[root@web opt]# ll fstab.bk.link
lrwxrwxrwx. 1 root root 13 10月 22 23:23 fstab.bk.link -> /opt/fstab.bk

7 ping 模块
在ansible中使用ping模块来检测指定主机的连通性

[root@promote ~]# ansible all -m ping     
192.168.199.130 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
192.168.199.131 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

8 yum 模块
ansible中的yum模块负责在被管理主机上安装与卸载软件包,但是需要提前在每个节点配置自己的yum仓库。其中name指定要安装的软件包,还需要带上软件包的版本号,否则安装最新的软件包,使用state指定安装软件包的状态,present,latest用来表示安装,absent表示卸载。

[root@promote ~]# ansible-doc -s yum
- name: Manages packages with the `yum' package manager
  yum:
      allow_downgrade:      # Specify if the named package and version is allowed
                              to downgrade a maybe
                              already installed
                              higher version of that
                              package.


在web服务器上安装httpd服务:

[root@promote ~]# ansible web -m yum -a 'name=httpd'
192.168.199.130 | CHANGED => {
    "ansible_facts": {
        "pkg_mgr": "yum"
    },
    "changed": true,
    "msg": "warning: /var/cache/yum/x86_64/7/base/packages/mailcap-2.1.41-2.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY\nCentOS/7.5.1804/os/x86_64/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm: [Errno 14] HTTP Error 302 - Found\nTrying other mirror.\nImporting GPG key 0xF4A80EB5:\n Userid    : \"CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>\"\n Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5\n Package    : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)\n From      : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7\n",
    "rc": 0,
    "results": [
        "Loaded plugins: fastestmirror, langpacks\nLoading mirror speeds from cached hostfile\n * base: mirrors.njupt.edu.cn\n * extras: mirrors.nju.edu.cn\n * updates: mirrors.njupt.edu.cn\nResolving Dependencies\n--> Running transaction check\n---> Package httpd.x86_64 0:2.4.6-80.el7.centos.1 will be installed\n--> Processing Dependency: httpd-tools = 2.4.6-80.el7.centos.1 for package: httpd-2.4.6-80.el7.centos.1.x86_64\n--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-80.el7.centos.1.x86_64\n--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-80.el7.centos.1.x86_64\n--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-80.el7.centos.1.x86_64\n--> Running transaction check\n---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed\n---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed\n---> Package httpd-tools.x86_64 0:2.4.6-80.el7.centos.1 will be installed\n---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package          Arch        Version                    Repository    Size\n================================================================================\nInstalling:\n httpd            x86_64      2.4.6-80.el7.centos.1      updates      2.7 M\nInstalling for dependencies:\n apr              x86_64      1.4.8-3.el7_4.1            base          103 k\n apr-util          x86_64      1.5.2-6.el7                base          92 k\n httpd-tools      x86_64      2.4.6-80.el7.centos.1      updates        90 k\n mailcap          noarch      2.1.41-2.el7                base          31 k\n\nTransaction Summary\n================================================================================\nInstall  1 Package (+4 Dependent packages)\n\nTotal download size: 3.0 M\nInstalled size: 10 M\nDownloading packages:\nPublic key for mailcap-2.1.41-2.el7.noarch.rpm is not installed\nPublic key for httpd-tools-2.4.6-80.el7.centos.1.x86_64.rpm is not installed\n--------------------------------------------------------------------------------\nTotal                                              143 kB/s | 3.0 MB  00:21    \nRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n  Installing : apr-1.4.8-3.el7_4.1.x86_64                                  1/5 \n  Installing : apr-util-1.5.2-6.el7.x86_64                                  2/5 \n  Installing : httpd-tools-2.4.6-80.el7.centos.1.x86_64                    3/5 \n  Installing : mailcap-2.1.41-2.el7.noarch                                  4/5 \n  Installing : httpd-2.4.6-80.el7.centos.1.x86_64                          5/5 \n  Verifying  : mailcap-2.1.41-2.el7.noarch                                  1/5 \n  Verifying  : httpd-tools-2.4.6-80.el7.centos.1.x86_64                    2/5 \n  Verifying  : apr-util-1.5.2-6.el7.x86_64                                  3/5 \n  Verifying  : apr-1.4.8-3.el7_4.1.x86_64                                  4/5 \n  Verifying  : httpd-2.4.6-80.el7.centos.1.x86_64                          5/5 \n\nInstalled:\n  httpd.x86_64 0:2.4.6-80.el7.centos.1                                          \n\nDependency Installed:\n  apr.x86_64 0:1.4.8-3.el7_4.1                  apr-util.x86_64 0:1.5.2-6.el7  \n  httpd-tools.x86_64 0:2.4.6-80.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7  \n\nComplete!\n"
    ]
}

[root@web ~]# rpm -q httpd                  #在web服务器上进行查看
httpd-2.4.6-80.el7.centos.1.x86_64

卸载的命令为ansible web -m yum -a 'name=httpd state=absent' 这里为了我下面的实验就先不卸载了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/18866a283c06ff4c51d1bfc086a35575.html