命令运行
- ansible的执行方式分为两种
- 命令行方式
- playbook方式
- playbook方式类似于写个配置文件,也可称之为写个脚本然后执行整个文件的方式
- 本文主要介绍命令行方式
命令行方式执行ansible
- ansible [组名] [参数]
参数
- -a ‘Arguments’, --args=‘Arguments’ 命令行参数
- -m NAME, --module-name=NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数
- -i PATH, --inventory=PATH 指定库存主机文件的路径,默认为/etc/ansible/hosts.
- -u Username, --user=Username 执行用户,使用这个远程用户名而不是当前用户
- -U --sud-user=SUDO_User sudo到哪个用户,默认为 root
- -k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证
- -K --ask-sudo-pass 提示密码使用sudo
- -s --sudo sudo运行
- -S --su 用 su 命令
- -l --list 显示所支持的所有模块
- -s --snippet 指定模块显示剧本片段
- -f --forks=NUM 并行任务数。NUM被指定为一个整数,默认是5。 #ansible testhosts -a “/sbin/reboot” -f 10 重启testhosts组的所有机器,每次重启10台
- –private-key=PRIVATE_KEY_FILE 私钥路径,使用这个文件来验证连接
- -v --verbose 详细信息
- all 针对hosts 定义的所有主机执行
- -M MODULE_PATH, --module-path=MODULE_PATH 要执行的模块的路径,默认为/usr/share/ansible/
- –list-hosts 只打印有哪些主机会执行这个 playbook 文件,不是实际执行该 playbook 文件
- -o --one-line 压缩输出,摘要输出.尝试一切都在一行上输出。
- -t Directory, --tree=Directory 将内容保存在该输出目录,结果保存在一个文件中在每台主机上。
- -B 后台运行超时时间
- -P 调查后台程序时间
- -T Seconds, --timeout=Seconds 时间,单位秒s
- -P NUM, --poll=NUM 调查背景工作每隔数秒。需要- b
- -c Connection, --connection=Connection 连接类型使用。可能的选项是paramiko(SSH),SSH和地方。当地主要是用于crontab或启动。。。。。
简单使用
-
组名为aliyun
-
ping
- ansible a liyun -m ping
-
shell
- ansible aliyun -m shell -a “pwd”
-
cp文件
- ansible aliyun -m copy -a “src=/tmp/test.sh dest=/tmp/”
- src指向的地址为本地地址,想将本地哪个文件传递到aliyun组的服务器上
- dest指向的是远程路径,想将这个文件传递到aliyun组的服务器上的哪个位置