微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

脚本 – 为什么使用Chef / Puppet而不是shell脚本?

Puppet和Chef工具的新功能.看起来他们正在做的工作可以通过 shell脚本来完成.也许它是在shell脚本中完成的,直到它们出现.

我同意他们更具可读性.但是,除了可读性之外,还有其他优于shell脚本的优势吗?

特定于域的语言会对您编写的代码量产生很大影响.例如,你可以说,之间没有太大区别:
chmod 640 /my/file

file { "/my/file":
    mode => 640,}

但这些之间存在很大差异:

FILE=/my/file
chmod 640 $FILE
chown foo $FILE
chgrp bar $FILE
wget -O $FILE "http://my.puppet.server/dist/$FILE"
     # where the URL contains "Hello world"

file { "/my/file":
    mode => 640,owner => foo,group => bar,content => "Hello world",}

如果wget失败会怎么样?你的脚本将如何处理?如果在你的脚本中有一些东西需要$FILE来存在正确的内容,会发生什么?

你可能会争辩说,人们可以把回声“Hello world”>脚本中的$FILE,除了在第一个示例中脚本必须在客户端上运行,而puppet在服务器上编译所有这些.因此,如果您更改内容,则只需在服务器上更改内容,然后根据您想要的内容将其更改为多个系统.并且puppet会自动处理依赖关系并为您传输问题.

没有比较 – 正确的配置管理工具可以节省您的时间和复杂性.你尝试的越多,shell脚本就越不合适,用puppet做的就越省力.

原文地址:https://www.jb51.cc/bash/386167.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐