Ansible 第二章

1.ansible实现管理的方式

Ad-Hoc        ##利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook    ##ansible脚本,主要用于大型项目场景,需要前期的规划

2.Ad-Hoc执行方式中如何获得帮

ansible-doc    ##显示模块帮助的指令
ansible-doc [参数] [模块...]

#常用参数
-l        ##列出可用模块
-s        ##显示指定模块的playbook片段

3.ansible命令运行方式及常用参数

#格式:
ansible    清单    -m 模块    -a 模块参数

#常用参数
#--version        ##显示版本
#-m module        ##指定模块,默认为command模块
#-v            ##详细过程 -vv -vvv更详细过程
#--list            ##显示主机列表,也可以用--list-hosts
#-k            ##提示输入ssh连接密码,默认key认证
#-C            ##预执行检测
#-T            ##执行命令的超时时间,默认10s
#-u            ##指定远程执行的用户
#-b            ##执行sudo切换身份操作
#-become-user=USERNAME    ##指定sudo的用户
#-K            ##提示输入sudo密码

4.ansible的基本颜色代表信


绿色        ##执行成功但为对远程主机做任何改变
黄色        ##执行成功并对远程主机做改变
红色        ##执行失败

5.ansible中的常用模块

1.command#
#功能: 在远程主机执行命令,此模块为默认模块

#常用参数
chdir        ##执行命令前先进入到指定目录
cmd        ##运行命令指定
creates        ##如果文件存在将不运行
removes        ##如果文件存在在将运行
free_form    ##在远程主机中执行的命令,此参数不需要加

##注意##
#Linux中的很多通配符在command模块中不支持


ansible all -m command -a "useradd lee"
 ansible all -m command -a "userdel -r lee" 

Ansible 第二章_第1张图片

ansible all -m command -a "chdir=/etc cat passwd " 
    3  ansible all -m command -a "chdir=/etc creates=/etc/passwd cat passwd " 
    4  ansible all -m command -a "chdir=/etc removes=/etc/passwd cat passwd " 

Ansible 第二章_第2张图片

Ansible 第二章_第3张图片

2.shell

功能:
和command功能类似
#常用参数
chdir           ##执行命令前先进入到指定目录
cmd             ##运行命令指定
creates         ##如果文件存在将不运行
removes         ##如果文件存在在将运行
free_form     ##在远程主机中执行的命令,此参数不需要加
executable    ##指定执行环境,默认为sh

ansible all -m shell -a "executable=sh ps ax | grep $$ " 
  手动指定远程主机的执行环境
    9  ansible all -m shell -a  'ps ax | grep $$'

 Ansible 第二章_第4张图片

 3.script

功能:
在ansible主机中写好的脚本在受控主机中执行

ansible all -m script -a "test.sh"在受控主机中执行test。sh

Ansible 第二章_第5张图片

4.copy

功能
从ansible主机复制文件到受控主机

#常用参数
src        ##源文件
dest        ##目的地文件
owner        ##指定目的地文件所有人
group
mode        ##指定目的地文件权限
backup=yes    ##当受控主机中存在文件时备份原文件
content        ##指定文本内容直接在受控主机中生成文件

ansible 172.25.254.212 -m copy -a "src=/home/lee/ansible/test.sh owner=westos  mode=755 dest=/mnt/test.sh"
文件左右人的指定一定要对方主机上有这个用户

Ansible 第二章_第6张图片

ansible 172.25.254.212 -m copy -a "src=/home/lee/ansible/test.sh   mode=755 dest=/mnt/test.sh backup=yes"
修改了test内容,文件名重复时允许备份

Ansible 第二章_第7张图片

你可能感兴趣的:(linux)