您的位置:首页 > 其它

ansible常用模块实例

2018-03-18 01:42 302 查看

ansible常用模块

ping模块

例如:

测试主机是否在线
[root@CentOS7 ansible]# ansible > client -m ping
192.168.137.22 | SUCCESS => {
"changed": false,
"ping": "pong"
}


shell模块

例如:

去/opt下创建test,再删除
[root@CentOS7 ansible]# ansible client -m shell -a 'cd /opt && mkdir test'
192.168.137.22 | SUCCESS | rc=0 >>

[root@CentOS7 ansible]#  ansible client -m shell -a 'ls /opt'
192.168.137.22 | SUCCESS | rc=0 >>
test
[root@CentOS7 ansible]# ansible client -m shell -a 'cd /opt && rm -rf test && ls'
192.168.137.22 | SUCCESS | rc=0 >>


cron模块

获取帮助:ansible-doc -s cron

模块参数详解:

state:
present:创建任务
absent:删除任务
backup:对远程主机上的原任务计划内容修改之前做备份
job:要执行的任务
name:该任务的描述(必须项)
user:以哪个用户的身份运行
minute:分钟(0-59,*,*/2,……),不写默认为*
hour:小时(0-23,*,*/2,……),不写默认为*
day:日(1-31,*,*/2,……),不写默认为*
month:月(1-12,*,*/2,……),不写默认为*
weekday:周(0-7,*,……),不写默认为*


例如:

每隔10分钟同步一次时间
[root@CentOS7 ansible]# ansible client -m cron -a 'name="sync time from ntpserver" minute=*/10 job="/usr/sbin/ntpdate 3.cn.pool.ntp.org"'
192.168.137.22 | SUCCESS => {
"changed": true,
"envs": [],
"jobs": [
"sync time from ntpserver"
]
}


copy模块

获取帮助:ansible-doc -s copy

模块参数详解:

src:指定源文件路径,可以是相对路径,也可以是绝对路径,可以是目录(并非是必须的,可以使用content,直接生成文件内容)

dest=:指定目标文件路径,只能是绝对路径,如果src是目录,此项必须是目录

owner:指定属主

group:指定属组

mode:指定权限,可以以数字指定比如0644

content:代替src,直接往dest文件中写内容,可以引用变量,也可以直接使用inventory中的主机变量

backup:在覆盖之前将原文件备份,备份文件包含时间信息。有两个选项:yes|no

force:

yes:默认项,如果目标主机包含该文件,但内容不同,则强制覆盖

no:则只有当目标主机的目标位置不存在该文件时,才复制

directory_mode:递归的设定目录的权限,默认为系统默认权限


例如:

复制本地文件到远程主机并对原文件进行备份
[root@CentOS7 ~]# ansible client -m copy -a 'src=/root/test dest=/root/ backup=yes'
192.168.137.22 | SUCCESS => {
"changed": true,
"checksum": "a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0",
"dest": "/root/test",
"gid": 0,
"group": "root",
"md5sum": "ba1f2511fc30423bdbb183fe33f3dd0f",
"mode": "0644",
"owner": "root",
"size": 4,
"src": "/root/.ansible/tmp/ansible-tmp-1519728610.61-36219048765969/source",
"state": "file",
"uid": 0
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ansible 实例 模块