ansible语法
时间:2019-12-07 17:32:50
收藏:0
阅读:89
ansible语法
注意:需要提示分发公钥
ansible test -a "free -h"
ansible test -m command -a "free -h"
-m:指定模块
-a:指定参数
test 对应 /etc/ansible/hosts中的[test]
all 对应 /etc/ansible/hosts所有ip
注意:默认模块不支持管道通信
常用参数
参数 | 解释 |
---|---|
-m | 模块,默认command |
-a | 参数 |
-C,--checks | 检查,预期执行 |
-syntax-checks | 检查剧本,预期执行 |
颜色说明
绿:正常
红:异常
黄:有变动
模块详情
查看模块信息
ansible-doc -v command
chdir参数的使用:
ansible test -m command -a "chdir=/etc pwd"
shell模块
注意:执行时,各主机本地需要存在shell脚本
与command模块的不同在于,shell模块可以使用变量,管道,定向符号等
script
当前节点的本地脚本,远程执行
#本地节点脚本文件
cat >/home/centos/sh.sh <<EOF
#!/bin/bash
echo $HOSTMANE
w
ping qq.com -c 2
EOF
#远程执行本地文件
ansible test -m script -a "/home/centos/sh.sh"
脚本文件不具有执行权限,也可以远程执行命令
copy
参数 | 说明 |
---|---|
backup | 是否备份远程已存在的文件 |
content | 可以设定文件的值 |
dest | 远端路径 |
directory_mode | 递归设置目录的权限,默认为系统权限 |
forces | 文件内容存在差异,forces为yes则覆盖,为no,则不覆盖。默认覆盖。别名:thirsty |
src | 路径以/结尾,只复制目录中的文件,否则递归复制所有文件,类似rsync |
mode | 权限位设置 |
owner | 属主 |
group | 属组 |
src 不能和 content一起使用
copy使用示例
ansible test -m copy -a "src=/etc/hosts dest=~/ mode=0644 owner=centos group=centos"
ansilbe test -m shell -a "ls -la ~/host*"
原文:https://www.cnblogs.com/anyux/p/12002272.html
评论(0)