前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >centos ansible常用命令

centos ansible常用命令

作者头像
钢铁知识库
发布于 2022-08-20 01:05:31
发布于 2022-08-20 01:05:31
45000
代码可运行
举报
文章被收录于专栏:python爬虫教程python爬虫教程
运行总次数:0
代码可运行

ansible在日常运维中经常使用,特别是批量执行多台服务器的时候,有效减小重复的操作成本,以下从安装到使用仅讲解工作中常用的几种方式,模块很多功能很强大,但不做全面讨论。

ansible安装

在centos服务器中安装ansible很简单,只需两条命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install epel-release
yum -y install ansible
ansible --version
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ansible 2.9.16
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

ansible配置

配置hosts,添加需要被管理的主机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@test01 ~]# cat /etc/ansible/hosts
[webservers]
10.124.59.82
10.124.59.83
[dbservers]
10.124.59.208
10.124.59.209
[ftp]
10.124.59.210

生成密钥 [root@test01 ~]# ssh-keygen 使用ssh-copy-id命令来复制ansible公钥到各个节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@test01 ~]# ssh-copy-id root@10.124.59.82
[root@test01 ~]# ssh-copy-id root@10.124.59.83
[root@test01 ~]# ssh-copy-id root@10.124.59.208
[root@test01 ~]# ssh-copy-id root@10.124.59.209
[root@test01 ~]# ssh-copy-id root@10.124.59.210

执行ping命令测试 [root@test01 ~]# ansible all -m ping

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10.124.59.210 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
10.124.59.209 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
10.124.59.82 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
10.124.59.83 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
10.124.59.208 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

success说明安装配置成功。

ansible常用模块与使用

实际使用过程中,会有几个模块经常用到,下面列出如下:

  • ping模块

测试主机是否是通的,用法很简单,不涉及参数 以上已经举例,这里不再赘述。

  • command模块

ansible管理工具使用-m选项来指定使用模块,默认使用command模块, 即-m选项省略时会运行此模块,用于在被管理主机上运行命令。 远程执行命令,但不支持管道。它是默认命令可不指明模块。

  • shell模块

远程执行命令,与command的不同在于可以使用管道。

  • copy:拷贝文件到远程主机
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
用法:
src :本地文件路径,可以是绝对和相对
dest= :不可省,如果src是目录,则dest也是目录。只能是绝对路径
group :指明文件属组
mode   :指明权限
owner :指明所有者
content :直接写出内容,并将其复制给远程主机

示例: 复制本地文件到远端主机

[root@test01 ~]# ansible all -m copy -a "src=/tmp/filebeat.yml dest=/tmp/ owner=ansible mode=600"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10.124.59.209 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "203e1c00bc853d638e8c00eaa4015be17ae26900", 
    "dest": "/tmp/filebeat.yml", 
    "gid": 1016, 
    "group": "mgadmin", 
    "md5sum": "fb66b0662ccea6dd9148d50ed2cdbdb3", 
    "mode": "0600", 
    "owner": "ansible", 
    "size": 10386, 
    "src": "/home/ansible/.ansible/tmp/ansible-tmp-1628185005.83-13684-201530439549721/source", 
    "state": "file", 
    "uid": 1020
}
10.124.59.210 | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": true, 
    "checksum": "203e1c00bc853d638e8c00eaa4015be17ae26900", 
    "dest": "/tmp/filebeat.yml", 
    "gid": 1016, 
    "group": "mgadmin", 
    "md5sum": "fb66b0662ccea6dd9148d50ed2cdbdb3", 
    "mode": "0600", 
    "owner": "ansible", 
    "size": 10386, 
    "src": "/home/ansible/.ansible/tmp/ansible-tmp-1628185005.82-13680-7844302613885/source", 
    "state": "file", 
    "uid": 1020
}
...省略
  • fetch:从远端主机获取文件到本地
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
用法:
src=远端主机上的文件。
dest=保存文件的目录

示例 [root@test01 tmp]# ansible 10.124.59.83 -m fetch -a "dest=/tmp src=/tmp/filebeat.yml"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
10.124.59.83 | CHANGED => {
    "changed": true, 
    "checksum": "203e1c00bc853d638e8c00eaa4015be17ae26900", 
    "dest": "/tmp/10.124.59.83/tmp/filebeat.yml", 
    "md5sum": "fb66b0662ccea6dd9148d50ed2cdbdb3", 
    "remote_checksum": "203e1c00bc853d638e8c00eaa4015be17ae26900", 
    "remote_md5sum": null
}

注意:获取的文件存放路径为dest_dir/IP|address/src_file

以上就是几个经常使用的命令,另外一些少用的模块,需要的时候到官网或使用ansible-doc查看帮助即可。

Ansible-doc用来查询ansible模块文档的说明,类似于man命令,针对每个模块都有详细的用法说明及应用案例介绍,语法如下: ansible-doc [options] [module……]

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-l用来列出可使用的模块,
-s用来列出某个模块的描述信息和使用示例。

[root@test01 tmp]# ansible-doc -s command

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- name: Execute commands on targets
  command:
      argv:                  # Passes the command as a list rather than a string. Use `argv' to avoid quoting values that would otherwise be interpreted incorrectly (for example "user name"). Only the string or the
                               list form can be provided, not both.  One or the other must be provided.
      chdir:                 # Change into this directory before running the command.
      cmd:                   # The command to run.
      creates:               # A filename or (since 2.0) glob pattern. If it already exists, this step *won't* be run.
      free_form:             # The command module takes a free form command to run. There is no actual parameter named 'free form'.
      removes:               # A filename or (since 2.0) glob pattern. If it already exists, this step *will* be run.
      stdin:                 # Set the stdin of the command directly to the specified value.
      stdin_add_newline:     # If set to `yes', append a newline to stdin data.
      strip_empty_ends:      # Strip empty lines from the end of stdout/stderr in result.
      warn:                  # Enable or disable task warnings.

---- 钢铁 648403020@qq.com 2021.08.06

参考文献

http://blog.itpub.net/29785807/viewspace-2700983/ https://www.huaweicloud.com/articles/cd442ec1b8aca5208f04555385362147.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
2 条评论
热度
最新
房价
房价
回复回复点赞举报
房价
房价
回复回复点赞举报
推荐阅读
《Scikit-Learn与TensorFlow机器学习实用指南》第2章 一个完整的机器学习项目
第2章 一个完整的机器学习项目 来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻译项目 译者:@SeanCheney 校对:@Lisanaaa @飞龙 本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目。下面是主要步骤: 项目概述。 获取数据。 发现并可视化数据,发现规律。 为机器学习算法准备数据。 选择模型,进行训练。 微调模型。 给出解决方案。 部署、监控、维护系统。 使用真实数据 学习机器学习时,最好使用真实数据,而不是人工数
ApacheCN_飞龙
2018/05/16
2.9K0
机器学习之数据预处理
当数据集的数值属性具有非常大的比例差异,往往导致机器学习的算法表现不佳,当然也有极少数特例。在实际应用中,通过梯度下降法求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但对于决策树不使用,以C4.5为例,决策树在进行节点分裂时主要依据数据集D关于特征X的信息增益比,而信息增益比跟特征是否经过归一化是无关的
全栈程序员站长
2022/07/18
5900
[Hands On ML] 2. 一个完整的机器学习项目(加州房价预测)
范数的指数越高,就越关注大的值而忽略小的值。这就是为什么 RMSE 比 MAE 对异常值更敏感。但是当异常值是指数分布的(类似正态曲线),RMSE 就会表现很好。
Michael阿明
2020/07/13
2.5K0
[Hands On ML] 2. 一个完整的机器学习项目(加州房价预测)
《Scikit-Learn与TensorFlow机器学习实用指南》 第2章 一个完整的机器学习项目使用真实数据项目概览获取数据数据探索和可视化、发现规律为机器学习算法准备数据选择并训练模型模型微调启动
本章中,你会假装作为被一家地产公司刚刚雇佣的数据科学家,完整地学习一个案例项目。下面是主要步骤: 项目概述。 获取数据。 发现并可视化数据,发现规律。 为机器学习算法准备数据。 选择模型,进行训练。 微调模型。 给出解决方案。 部署、监控、维护系统。 使用真实数据 学习机器学习时,最好使用真实数据,而不是人工数据集。幸运的是,有上千个开源数据集可以进行选择,涵盖多个领域。以下是一些可以查找的数据的地方: 流行的开源数据仓库: UC Irvine Machine Learning Repository K
SeanCheney
2018/04/24
3.1K0
《Scikit-Learn与TensorFlow机器学习实用指南》 第2章 一个完整的机器学习项目使用真实数据项目概览获取数据数据探索和可视化、发现规律为机器学习算法准备数据选择并训练模型模型微调启动
爱数科案例 | 基于线性回归的加州房价预测
加州位于美国西南部,是美国经济较为发达、人口较为密集的行政区之一。加州的房价受到房龄、人口规模、地理位置等多种因素影响。本案例使用加州房价数据集,首先进行数据预处理和探索性数据分析,然后依次进行特征抽取、离散化、标准化、特征选择,最后建立线性回归模型对房价进行预测。
数据科学人工智能
2022/03/30
2.1K0
爱数科案例 | 基于线性回归的加州房价预测
手把手带你开启机器学习之路——房价预测(二)
在前一篇文章手把手带你开启机器学习之路——房价预测(一)中我们以加州住房价格数据集为基础,学习了数据抽样,数据探索性分析和可视化,数据预处理(缺失值填充,增加新特征,特征缩放,分类变量编码)等步骤,接下来继续深入,最终建立预测模型。可以在公众号后台回复“房价”获取两篇文章的数据,代码,PDF文件和思维导图。
超哥的杂货铺
2020/04/01
9870
带你建立一个完整的机器学习项目
首先,我们需要预览这个项目。项目的目的是什么,以房价预测为例,数据为StatLib的加州房产数据,那么目的就是预测街区的房产价格中位数。
统计学家
2019/09/03
6720
超级实用!如何为机器学习算法准备数据?
本文为《Scikit-Learn 和 TensorFlow 机器学习指南》的第二章的第 3 讲:为机器学习算法准备数据。
红色石头
2022/01/12
3470
《Scikit-Learn与TensorFlow机器学习实用指南》 第02章 一个完整的机器学习项目(下)选择并训练模型模型微调启动、监控、维护系统实践!练习
大多机器学习算法不能处理特征丢失,因此先创建一些函数来处理特征丢失的问题。前面,你应该注意到了属性total_bedrooms有一些缺失值。有三个解决选项:
SeanCheney
2018/09/19
1.2K0
手把手学机器学习算法中数据预处理(附代码)
当你想了解机器学习,最好的方式就是用真实的数据入手做实验。网络上有很多优秀的开源资料。这里我们选择了加利福尼亚的房价数据集(数据的获得后面会给出),它的统计图如下所示,横纵坐标分别代表经纬度,图上有很多圈圈,而圈圈的大小代表着人口数,颜色图则表示房均价,那么一堆数据到手了,但是我们到底要做什么呢?
智能算法
2020/09/08
1K0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(一)
2006 年,Geoffrey Hinton 等人发表了一篇论文,展示了如何训练一个能够以最先进的精度(>98%)识别手写数字的深度神经网络。他们将这种技术称为“深度学习”。深度神经网络是我们大脑皮层的(非常)简化模型,由一系列人工神经元层组成。在当时,训练深度神经网络被普遍认为是不可能的,大多数研究人员在 1990 年代末放弃了这个想法。这篇论文重新激起了科学界的兴趣,不久之后,许多新论文证明了深度学习不仅是可能的,而且能够实现令人惊叹的成就,其他任何机器学习(ML)技术都无法匹敌(在巨大的计算能力和大量数据的帮助下)。这种热情很快扩展到许多其他机器学习领域。
ApacheCN_飞龙
2024/05/24
1.1K0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(一)
机器学习实用指南:如何从数据可视化中发现数据规律?
目前为止,我们已经对数据有了初步的认识,大体上明白了我们要处理的数据类型。现在,我们将进入更深入的研究。
红色石头
2022/01/12
1.2K0
机器学习实用指南:如何从数据可视化中发现数据规律?
机器学习三人行(系列二)----机器学习前奏,洞悉数据之美
前沿 当你想了解机器学习,最好的方式就是用真实的数据入手做实验。网络上有很多优秀的开源资料,包括数据集,这里我们选择了加利福尼亚的房价数据集(数据的获得后面会给出),它的统计图如下所示,横纵坐标分别代
智能算法
2018/04/03
8390
机器学习三人行(系列二)----机器学习前奏,洞悉数据之美
Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记 4 —— 数据探索与可视化
目前为止,我们已经对数据有了初步的认识,大体上明白了我们要处理的数据类型。现在,我们将进入更深入的研究。
红色石头
2019/05/25
4470
机器学习实战指南:如何入手第一个机器学习项目?
https://github.com/RedstoneWill/Hands-On-Machine-Learning-with-Sklearn-TensorFlow
红色石头
2022/01/12
1.2K0
机器学习实战指南:如何入手第一个机器学习项目?
【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】
线性回归(Linear Regression)是一种常见的统计方法和机器学习算法,用于根据一个或多个特征变量(自变量)来预测目标变量(因变量)的值。在许多实际应用中,线性回归因其简单性和有效性而被广泛使用,例如预测房价、股票市场分析、市场营销和经济学等领域。
小李很执着
2024/07/02
3671
【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】
厉害了,Matplotlib还能这样画散点图!
在数据可视化中,二维散点图的应用范围很广,比如用来观测两个变量之间的相关性、展示销量的的走势等等,这些是散点图的常规用法。
刘早起
2020/09/29
2.3K0
厉害了,Matplotlib还能这样画散点图!
房价精准预测,大数据+机器学习帮你搞定
一提到房价,就“压力山大”!无论是首套房还是改善性需求,买在低点卖在高点都是一个可遇不可求的事儿,所以如果有位数据大侠能帮助设计一个预测房价的神器,岂不是“人生很值得”!本期DT数据侠与纽约数据科学学院合作的数据线专栏中,四位数据侠通过“数据超能力”试图利用Python通过机器学习方式来预测房价,快来看看他们是如何做得吧!
DT数据侠
2018/12/14
1.8K0
【Python数据分析】房价预测:使用线性回归模型预测波士顿房价
文章链接:https://cloud.tencent.com/developer/article/2472976
小馒头学Python
2024/12/04
6330
【Python数据分析】房价预测:使用线性回归模型预测波士顿房价
项目实战一:利用Python实现Kaggle经典案例之波士顿房价预测
欢迎来到王者荣耀(自带音效?)啊不,是小白入门大数据分析之项目实战第一篇?。本文主要介绍如何利用Python实现Kaggle经典比赛项目,波士顿房价预测问题(至于Python安装问题,推荐大家参照一篇
用户7569543
2020/07/17
2.4K0
推荐阅读
《Scikit-Learn与TensorFlow机器学习实用指南》第2章 一个完整的机器学习项目
2.9K0
机器学习之数据预处理
5900
[Hands On ML] 2. 一个完整的机器学习项目(加州房价预测)
2.5K0
《Scikit-Learn与TensorFlow机器学习实用指南》 第2章 一个完整的机器学习项目使用真实数据项目概览获取数据数据探索和可视化、发现规律为机器学习算法准备数据选择并训练模型模型微调启动
3.1K0
爱数科案例 | 基于线性回归的加州房价预测
2.1K0
手把手带你开启机器学习之路——房价预测(二)
9870
带你建立一个完整的机器学习项目
6720
超级实用!如何为机器学习算法准备数据?
3470
《Scikit-Learn与TensorFlow机器学习实用指南》 第02章 一个完整的机器学习项目(下)选择并训练模型模型微调启动、监控、维护系统实践!练习
1.2K0
手把手学机器学习算法中数据预处理(附代码)
1K0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(一)
1.1K0
机器学习实用指南:如何从数据可视化中发现数据规律?
1.2K0
机器学习三人行(系列二)----机器学习前奏,洞悉数据之美
8390
Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记 4 —— 数据探索与可视化
4470
机器学习实战指南:如何入手第一个机器学习项目?
1.2K0
【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】
3671
厉害了,Matplotlib还能这样画散点图!
2.3K0
房价精准预测,大数据+机器学习帮你搞定
1.8K0
【Python数据分析】房价预测:使用线性回归模型预测波士顿房价
6330
项目实战一:利用Python实现Kaggle经典案例之波士顿房价预测
2.4K0
相关推荐
《Scikit-Learn与TensorFlow机器学习实用指南》第2章 一个完整的机器学习项目
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档