标签:开头 sync 扩展 hang 归档 line 测试 strong check
作者:Georgekai
归档:学习笔记
2018/1/31
1.编辑/etc/ansible/hosts管理配置文件,实现基于口令免交互登录
vim /etc/ansible/hosts
[client]
172.16.1.7
172.16.1.31 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.41
2.测试是否需要进行交互登录
[root@m01 ~]# ansible george -m ping
172.16.1.41 | SUCCESS => {
"changed": false,
"ping": "pong"
}
1. 不配置密码
vim /etc/ansible/hosts
[oldboy]
172.16.1.7
172.16.1.31 ansible_ssh_user=root
172.16.1.41
2. -k参数实现以交互方式远程登录
[root@m01 ~]# ansible george -m ping -k #以交互方式输入密码进行远程管理
SSH password:
172.16.1.7 | SUCCESS => {
"changed": false,
"ping": "pong"
}
ansible剧本格式:遵循yaml语法格式(类似python脚本编写格式)
rsync配置文件格式:ini语法格式
sersync配置文件格式:xml语法格式(标签格式)
规则一:缩进
yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组 成。一定不能使用tab键
强调*****:当编写ansible剧本时,请把键盘的tab键扣掉
规则二:冒号
CMD="echo"
yaml:
mykey:
每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格)
规则三:短横线
想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一 部分
核心规则:有效的利用空格进行剧本的编写,剧本编写是不支持tab的
1.创建部署rsyn服务剧本
vim /etc/ansible/ansible_play_book/rsync.yaml
-空hosts:空oldboy - hosts : 指定主机组或单个主机,也可以是all所有主机
空空tasks: :固定格式
空空空空-空file:空dest=.......... :指定模块
2.对剧本语法检测:
ansible-playbook --syntax-check /etc/ansible/ansible-play_book/rsync.yaml
3.-C模拟执行剧本:
ansible-playbook -C /etc/ansible/ansible-play_book/rsync.yaml
4.执行剧本:
ansible-playbook /etc/ansible/ansible-play_book/rsync.yaml
1. 编写多个剧本
### 剧本的开头,可以不写
- hosts: all <- all表示所有主机,可以写某个主机组; -(空格)hosts:(空格)all
task: <- 剧本所要干的事情; (空格)(空格)task:
- command: echo hello oldboy linux. (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能
2. 剧本编写内容扩展:剧本任务定义名称
- hosts: 172.16.1.7 <- 处理指定单台服务器 -(空格)hosts:(空格)all
task: <- 剧本所要干的事情; (空格)(空格)task:
- name: <—注释信息
command: echo hello oldboy linux. (空格)(空格)空格)(空格)-(空格)模块名称:(空格)模块中对应的功能
3. 剧本编写内容扩展:剧本任务编写定时任务
# ansible all -m cron -a "name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate t ime.nist.gov >/dev/null 2>&1'"
- hosts: all
tasks:
- name: restart-network
cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'
说明:测试剧本命令后面可以跟多个-v进行调试检查
4. 剧本编写内容扩展:剧本任务编写多个任务
- hosts: all
tasks:
- name: restart-network
cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'
- name: sync time
cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"
5. 剧本编写内容扩展:剧本任务编写多个主机
- hosts: 172.16.1.7
tasks:
- name: restart-network
cron: name='restart network' minute=00 hour=00 job='/usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'
- name: sync time
cron: name='sync time' minute=*/5 job="/usr/sbin/ntpdate pool.ntp.com >/dev/null 2>&1"
- hosts: 172.16.1.31
tasks:
- name: show ip addr to file
shell: echo $(hostname -i) >> /tmp/ip.txt
标签:开头 sync 扩展 hang 归档 line 测试 strong check
原文地址:http://blog.51cto.com/13055758/2067877