ansible 安装与应用

 

 ansible

安装:
pip安装:
yum install python-pip
ip install ansible

yum 安装:
yum install epel-release -y
yum install ansible -y
添加主机列表
vim /etc/ansible/hosts

[web]
192.168.1.11
192.168.1.12

ansible 常用命令

ansible-doc
用于获取模块信息及其使用帮助
ansible-doc -l
ansible-doc -s MOD_NAME
例如:查看mysql相关
ansible-doc -l | grep mysql
ansible-doc -s mysql_usre

ansible
ansible <host-pattern> [-f forks] [-m module_name] [-a args]

ansible 配置密钥
生成私钥:ssh-keygen
向主机分发私钥:ssh-copy-id root@192.168.1.11

如果没有这个命令
yum -y install openssh-clientsansible


ansible 常用模块
1、主机连通性测试
ansible web -m ping

2、command 模块
直接在远程主机执行命令:
ansible web -m command -a '命令'
模块常用命令:
a、chdir #执行命令前,先切换目录
ansible web -m command -a 'chdir=/data/ ls'
b、executable #切换shell 来执行命令,需要使用命令的绝对路径

c、free_form #要执行的Linux指令,一般使用Ansible 的-a参数代替

d、creates #一个文件名,当这个文件存在,则该命令不执行,用来做判断

e、removes # 一个文件名,这个文件不存在,则该命令不执行

3、shell模块
可以在远程主机上调用shell解释器运行命令
ansible web shell -a 'ls -a |grep "test"'

4、copy 模块
用于将文件复制到远程主机,同时支持给定内容生成文件个修改权限等
相关选项如下:
a、 src #复制到远程主机的本地文件,路径是目录会递归复制
b、content # 用于替换'src',可直接指定文件的值
c、 dest #必选项,将源文件复制到远程主机的绝对路径
d、backup #当文件内容发生改变后,在覆盖之前把源文件备份,备份文件按包含时间信息
e、directory_mode # 递归设定目录的权限,欧仁为系统默认权限
f、force # 当目标主机包含该文件,但内容不同时,设为'yes' ,表示强制覆盖;设为'no',表示目标主机的位置不存在该文件才复制。默认为'yes'
g、others # 所有的file模块中的选项可以在这里使用


5、file模块
参数:
force: #需要在两种情况下强制创建软连接,一种是源文件不存在,但之后会建立的情况下,另一种是目标软连接已存在,需要先取消之前的软链,然后创建。两个选项yes|no
group: #定义文件/目录的属组。后面可以加上mode:定义文件/目录的权限
owner: #定义文件/目录的属组。后谜案必须跟上path :定义文件/目录的路径
recurse: #递归设置文件的属性,只对目录有效,后谜案跟上src:被链接的源文件路径,只应用于state=link 的情况
dest: #被链接到的路径,只应用与state=link 的情况
state: #状态,有一下选项
directory: 如果目录不存在,就创建目录
file: 即使文件不存在,也不会被创建
link: 创建软链接
hard: 创建硬链接
touch: 如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间
absent: 删除目录、文件或者取消链接文件

6、fetch 模块
该模块用于从远程某主机获取(复制)文件到本地
dest :用来存放文件的目录
src:在远程拉取的文件,并且必须是一个file,不能是目录

ansible web -m fetch -a 'src=/data/hello dest=/data'

7、cron 模块
该模块适用于管理 corn 计划任务的
其使用语法根跟我们的crontab 文件中的语法一致,同时,可以指定以下选项:
day= #日应该运行的工作(1-31,*,*/2)
hour= #小时
minute= #分钟
month= #月
weekday= #周
job= #指名运行的命令是什么
name= #定时任务描述
reboot #任务在重启时运行,不建议使用,建议使用special_time.
special_time #特殊的时间范围,参数:reboot(重启时),annually(每年),month(每月),weekly(每周),daily(每天),hourly(每小时)
state #指定状态,present 表示添加定时任务,也是默认设置,absent 表示删除定时任务
user # 以哪个用户的身份执行

8、yum 模块
软件安装模块
选项:
name= #所安装的包的名称
state= #present --->安装,latest --->安装最新的,absent ---.卸载软件。
update_cache #强制更新yum的缓存
conf_file #指定远程yum安装时所依赖的配置文件(安装本地已有的包)
disable_pgp_check #是否禁止GPG checking,只用于present or latest
disablerepo #临时禁止使用yum库。只用于安装或更新时
enablerepo #临时使用的yum库,只用于安装或更新时

 

 

 

参考:

https://www.cnblogs.com/keerya/p/7987886.html

 

posted on   Mlianga  阅读(35)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示