‘壹’ Linux里面ansible -a命令作用是什么
Ansible是一款系统运维的批量管理服务器软件,下面是批量管理的命令例子:
ansible oldboy -m shell -a 'ps -ef |grep ssh' -k
ansible是命令。
oldboy是主机组(里面包含很多机器)。
-m shell,-m是指定模块,shell就是一个模块。
-a接模块对应参数。'ps -ef |grep ssh',就是模块对应的参数,传给shell解析处理。
‘贰’ 如何编辑命令实现ansible批量执行
1、打开记事本,编写dos命令。 2、保存为.bat文件。 3、通过dos命令框打开运行.bat文件文件就可以了。 .bat: 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,
‘叁’ ansible执行命令怎么变成一行
我在一次修复系统后也总出来这个讨厌的图标,关掉这两个服务就不出来了,会不会影响其它性能暂时还不知道。 控制面板-管理工具-服务里 1、Universal Plug and Play Device Host,
‘肆’ ansible使用
Ansible使用
/etc/ansible/ansible.cfg 主配置文件 ansible的配置文件
/etc/ansible/hosts Inventory 要远程控制的主机列表
/usr/bin/ansible-doc 帮助文件
/usr/bin/ansible-playbook 指定运行任务文件
默认: /etc/ansible/hosts
inventory file可以有多个,且也可以通过Dynamic Inventory来动态生成。
参考解释例子ansible_ssh_host将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.ansible_ssh_host=192.169.1.123ansible_ssh_portssh端口号.如果不是默认的端口号,通过此变量设置.ansible_ssh_port=5000ansible_ssh_user默认的 ssh 用户名ansible_ssh_user=cxpadminansible_ssh_passssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)ansible_ssh_pass=’123456’
ansible2.0,ansible_ssh_user, ansible_ssh_host, ansible_ssh_port已经改变为ansible_user, ansible_host, ansible_port。具体参考官网
http://docs.ansible.com/ansible/latest/intro_inventory.html
常见的模块及使用参考: ansible基本使用教程 - 陈小跑 - 博客园
命令行方式一次只能执行单条命令,如果命令量较多,可以使用playbook的方式。 https://segmentfault.com/a/1190000038230424
playbook使用yaml格式编写。组成结构如下:
举例如下:
使用参考: https://segmentfault.com/a/1190000038230424
"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."
通常情况下,通过&指定的后台任务在终端退出后会自动退出执行。一般来说,加上nohup即可在后台一直执行。但在使用ansible时,发现 ansible all -m shell -a 'nohup cmd &' 命令无法在后台一直执行。后来想了个办法,将命令写入脚本,然后通过执行脚本来实现。
脚本内容为
ansible命令为 ansible all -m script -a 'bash xxx.sh' 。sleep的原因是退出太快可能脚本没跑起来就退出了。