1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
ansible常用模块详解:
ansible <host
-
pattern> [
-
m module_name] [
-
a args] [options]
#ansible命令格式
指定主机组或ip地址 指定调用模块 传递给模块的参数
ansible
-
doc
-
l
#列出可用模块
ansible
-
doc
-
s model_name
#查看指定模块详细用法
command:ansible默认模块,对指定主机执行命令,不能理解特殊字符
例:ansible web
-
a
'date'
#对web组里的主机执行date命令,web需要在hosts中定义
shell:执行命令操作,比command更强的,能够理解特殊字符
例:
ansible web
-
m shell
-
a
'useradd www'
ansible web
-
m shell
-
a
'echo centos | passwd --stdin www'
script:将本地主机的脚本放到远程主机执行
例:(脚本自己写)
ansible web
-
m script
-
a
'/root/test.sh'
ping:测试远端主机是否在线
例:ansible web
-
m ping
user:用户管理模块
常用参数:
name
=
#指定用户名(必须指定)
state
=
present
/
absent
#添加/删除用户
system
=
yse
/
no
#是否创建为系统用户
uid
=
#指定用户uid
shell
=
#指定用户shell环境
home
=
#指定用户家目录
group
=
#指定用户组
groups
=
#指定用户组附加组,以”,“分隔
例:
ansible web
-
m user
-
a
'name=HR state=present system=yes uid=100 groups=root,ntp shell=/bin/csh home=/home/HR_home'
#创建用户
ansible web
-
m user
-
a
'name=HR state=absent'
#删除用户
group:组管理模块
常用参数:
gid
=
#指定组gid
name
=
#指定组名(必须指定)
state
=
present
/
absent
#添加/删除组
system
=
yse
/
no
#是否创建为系统组
cron:计划任务管理模块
name
#任务计划的描述信息(必须指定)
minute
#分(0-59 ,* ,*/2)
hour
#时(0-23 ,* ,*/2)
day
#日(1-31 ,* ,*/2)
month
#月(1-12 ,* ,*/2)
weekday
#周(0-6 ,*)
job
=
path
#执行的命令的绝对路径
backup
=
yes
/
no
#是否先备份再创建新的任务计划
user
#以哪个用户新建任务计划,默认 root
state
=
present
/
absent
#创建删除计划任务
例:
ansible web
-
m cron
-
a
'name=A user=root job="/bin/date &>/dev/null" weekday="*/1" state=present'
copy:文件分发模块
常用参数:
src
=
path
#指定源文件路径
dest
=
path
#指定保存文件路径(必须指定)
mode
=
#拷贝到远程主机上的文件权限
例:
ansible web
-
m copy
-
a
'src=/abc dest=/root mode=600'
#注意:拷贝文件夹是在文件夹默认加上"/"表示只拷贝文件夹里的内容不拷贝目录
yum模块:基于yum源安装程序
常用参数:
name
=
#安装程序名(必须指定)
state
=
#present:安装 latest:安装最新版 absent:卸载
例:
ansible web
-
m yum
-
a
'name=httpd state=latest'
service模块:服务管理模块
常用参数:
name
=
#服务名称
state
=
stopped
/
started
/
restarted
/
reloaded
#停止/启动/重启/重读配置文件
enabled
=
yes
/
no
#是否开机自启动
setup模块:系统信息收集
例:
ansible web
-
m setup
|
本文转自 红尘世间 51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1921695