你的分享就是我们的动力 ---﹥

Bash脚本编程:为什么不早点开始呢?

时间:2014-12-25 18:24来源:www.chengxuyuans.com 点击:

要承认这一点还真有些不好意思:过去15年来我一直在构建软件,却是刚刚开始接触bash脚本编程。

我从来不认为自己是一个“做开发运营的家伙”或是一个“系统管理员”,所以,知道如何构建朴实而又拥有诸多功能的良好、健壮、安全的服务器,这就足够了。炫目或优雅都与我无关,我关注的是软件。

但大约在去年左右,我开始拥抱“Unix即IDE”这一概念。(在此之前,我用MacVim。)那些工具很不错且很健壮,并提供了远程托管的SSH驱动开发环境,是那么方便,给人以很享受的感觉。结果,在过去6个月中,我通过iTerm和SSH连接登录自己的开发服务器将近一千小时。

尽管我渐渐习惯了使用命令行,但并未太多关注自己的系统管理任务的自动化。别过早优化,我想。我以手动方式完成所有事情,所有的服务器构建、维护和修复,都是通过一次一行命令来完成的。我有试过Chef和其他一些相关工具,但就是不喜欢它们。

但在上周,我遇到一个问题:我们的通信流量和活动都有大幅增加,我们需要做一个很大的扩容,且要。我已经习惯了一次构建一个服务器,从从容容地,全通过手动完成。(在构建服务器时,我总有一种禅师入定的感觉,所以我很喜欢通过手动方式来构建它们。)但现在这种做法已满足不了要求,在接下来的几个小时内我需要用到8个新的应用服务器。

我硬着头皮,写出了自己有史以来的第一个真正(即超过10行)的bash脚本——来自动化应用服务器的构建。虽然做到了把服务器构建过程提交到内存中,但这还是花了我大约90分钟来编写脚本和调顺所有不通之处。(由于不慎通过错误路径调用脚本,我遇到了一些问题,且犯了一些类似于新手会犯的错误。)

不过事后的回报才是最激动人心的部分,这一90分钟的时间投资终于把过去曾是一个容易出错的30分钟手动服务器构建过程改头换面成了一台至精至简的服务器构建机。现在,构建一台服务器只需花上5分钟时间,这些服务器都具备了完善的开箱即用配置,而所有这一切都归功于一次bash脚本编程的速成。

一方面,我但愿自己没有用了15年的时间才迈出这一步,另一方面,我认识到,每个人汲取经验教训有早有晚。无论怎样,我很高兴最终把bash加入到了自己的工具带中。

你们都采用什么做法?您们如何管理自己的服务器构建和自动化呢?我很想了解一下这方面的一系列做法是怎样的。

关于作者

Burak Kanber是一位有着13年经验的创业家和软件工程师,他在著名的纽约柯柏联盟学院(Cooper Union in New York City)获得了机械工程方面的学士和硕士学位,就读于该学院时,他的研究方向是混合动力汽车动力传动系统的软件建模和仿真。

您可以访问Burak Kanber的站点了解更多关于他的信息。

(标题配图来自http://www.cyberciti.biz/)

转载注明地址:http://www.chengxuyuans.com/software_engineering/86225.html