自动化设置新服务器的过程

时间:2015-06-03 03:46:51

标签: linux automation build-automation

我维护网络游戏的服务器。每当我们在游戏中添加新服务器时,我必须配置许多环境细节并安装软件(例如,测试是否可以从其他地方连接新机器的某些端口,安装mysql-client,pv ...,复制新机器上的其他机器的游戏服务器文件,以及更改mysql服务器连接URL)。

所以我的问题是"如何自动化设置新服务器的整个过程?"因为我做的大多数作品都是重复的。每当新机器进来时,我都不想做这种工作。

是否有工具允许我保存linux机器的状态,以便下次当我们购买新服务器时,我可以将旧机器的状态复制到新机器上?我认为这是自动化设置新游戏服务器的过程之一。

我还尝试使用一些* .sh脚本来自动化该过程。但是并不总是能够获得我执行的每个命令的返回值。这就是我来这里寻求帮助的原因。

2 个答案:

答案 0 :(得分:0)

我怀疑你会找到这样的工具来自动化整个自定义过程,因为很难定义/获得一个适合所有人的Linux机器状态 ,特别是如果定制包括逻辑/功能序列。

但是通过良好的脚本编写,您可以从头开始获得可靠的自定义(而不是从另一台机器上复制)。我推荐一种更高级别的脚本语言,因此,恕我直言,常规bash / zsh / csh脚本不够好/方便。我更喜欢python,它可以轻松访问每个cmd的返回码,stdout,stderr以及pexpect模块,它可以驱动交互式cmds。

有一些工具可以处理特定类型的自定义(sw包安装,配置文件),但并非我需要的所有工具,所以我没有费心去直接使用自定义脚本(更多工作,但完全控制)。个人偏好,其他人会建议反对。

答案 1 :(得分:0)

您是否看过DockerAnsibleCheffPuppet? 在Docker中,您可以通过在docker file中描述所需的操作来构建新容器。您可以轻松地在机器之间移动容器。

Ansible,Cheff和Puppet是系统管理自动化工具。