为方便举例,我们将/etc/rc.d/rc.local文件复制到/testdir目录中去,以做测试 :cp cp /etc/rc.d/rc.local /testdir/
我们在/testdir/rc.local文件末尾添加两行命令
我们可以借用lineinfile模块,确保“某一行文本”存在于指定的文亮困件中,或者确保从文件中删除指定文本改闹(即确保指定的文本不存在于文件中)。还可以根据正则表达式,替换“某一行文件” 通俗的讲这个相当于liunx的sed命令。
接下来我们看一下lineinfile模块常用的一些参数
我们新建立files文件
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的原因是退出太快可能脚本没跑起来就退出了。
原文链接Ansible 1.9之前允许用户使用sudo和有限的su命令来以不同用明链户的身份/权限远程登陆执行激绝孙task,及创建资源. 在1.9版本中’become’取代了之前的sudo/su,
Ansible执行playbooks遇到需要提权的情况,除了要在yml文件里面设置become:True之外,还需要在宏竖hosts配置文件配置密码或者在运行playbook命令的时候加上输入密码参数
1、在hosts文件添加,ansible_become_pass=password
2、运行命令的时候加上 –ask-become-pass
此指令集还有:
become
等同于添加 ‘sudo:’ 或 ‘su:’ ,默认为sudo,被控主机为centos的话需要设置become_method为su
become_user
等同于添加 ‘sudo_user:’ 或 ‘su_user:’
become_method
可以设置的值为为:[sudo/su/pbrun/pfexec/doas]
hosts文件可设置变量
ansible_become、ansible_become_user、ansible_become_method、ansible_become_pass,意思同上
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)