wwys 2019-04-20 11:08 采纳率: 33.3%
浏览 704

ansible工具是否没有shell脚本灵活?

例如 我要对一个配置文件修改后发送给三台主机

第一台主机的配置文件更改处为第一台主机的ip的某一段

第二台主机的配置文件在第一台主机的配置文件之上再加上自身ip的某一段

第三台主机依次类推

在shell脚本中只需把三个ip写到同一个文件中,然后在while循环中读取ip,再根据awk命令截取ip设置变量后,根据sed命令利用变量的值修改配置文件,再分别拷到对应主机上即可。

而ansible工具好像要使用3个模板和许多的变量才能实现,每次修改ip后都需要手动修改定义的变量的值(shell脚本中只需改一个ip即可,因为很多变量的值都用ip加上awk命令实现了)

总的给我的感觉就是ansible的变量写的有点死,写完后是什么就是什么。而shell中变量可根据其他变量的值使用awk等命令进行操作,这样只需改变一个变量的值其他变量的值会自动改变。

  • 写回答

1条回答

  • xiaokcsdn 2019-05-09 09:08
    关注

    ansible本身去实现xx功能是相当受限的,受限变量的操纵就是一个问题。从稍微复杂一点的数据结构中提取数据在组成新的数据结构,这种基本只能用脚本语言写module去实现,ansible本身只提供并发和管理与远程主机的连接。个人觉得ansible做得太多的(或者太少了)

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序