自动化设置新服务器的过程
Automizing the process of setting up a new server
我在维护网页游戏的服务器。每当我们为游戏添加新服务器时,我都必须配置许多环境细节并安装软件(例如,测试新机器的某些端口是否可以从其他地方连接,安装 mysql-client,pv. ..,从另一台机器复制游戏服务器文件,并在新机器上更改 mysql 服务器连接 URL)。
所以我的问题是"How can I automize the whole process of setting up a new server?"因为我做的大部分作品都是重复的。我可不想一有新机器就做这种工作。
有什么工具可以让我保存 linux 机器的状态,以便下次我们购买新服务器时,我可以将旧 linux 机器的状态复制到新机器?我认为这是将设置新游戏服务器的过程自动化的方法之一。
我也尝试过使用一些 *.sh 脚本来自动化该过程。但是我执行的每个命令并不总是能够得到 return 值。这就是我来这里寻求帮助的原因。
我怀疑您会找到这样的工具来自动化 整个 定制过程,因为很难 define/obtain 通用 linux 机器 状态 ,特别是如果自定义包括 logical/functional 序列。
但是通过良好的脚本编写,您可以从头开始获得可能更可靠的定制(而不是从另一台机器上复制它)。我建议使用更高级的脚本语言,恕我直言,常规 bash/zsh/csh 脚本还不够 good/convenient。我更喜欢 python,它可以轻松访问每个 cmd 的 return 代码、stdout、stderr,并且使用 pexpect 模块可以驱动交互式 cmds。
有一些工具可以处理特定类型的自定义(sw 包安装、配置文件),但不是我需要的全部,所以我没有费心直接使用自定义脚本(更多工作,但完全控制)。个人喜好,呵呵,其他人会反对。
你看过Docker, Ansible, Cheff or Puppet了吗?
在 Docker 中,您可以通过在 docker file 中描述所需的操作来构建新容器。您可以轻松地在机器之间移动容器。
Ansible、Cheff 和 Puppet 是系统管理自动化工具。
我在维护网页游戏的服务器。每当我们为游戏添加新服务器时,我都必须配置许多环境细节并安装软件(例如,测试新机器的某些端口是否可以从其他地方连接,安装 mysql-client,pv. ..,从另一台机器复制游戏服务器文件,并在新机器上更改 mysql 服务器连接 URL)。
所以我的问题是"How can I automize the whole process of setting up a new server?"因为我做的大部分作品都是重复的。我可不想一有新机器就做这种工作。
有什么工具可以让我保存 linux 机器的状态,以便下次我们购买新服务器时,我可以将旧 linux 机器的状态复制到新机器?我认为这是将设置新游戏服务器的过程自动化的方法之一。
我也尝试过使用一些 *.sh 脚本来自动化该过程。但是我执行的每个命令并不总是能够得到 return 值。这就是我来这里寻求帮助的原因。
我怀疑您会找到这样的工具来自动化 整个 定制过程,因为很难 define/obtain 通用 linux 机器 状态 ,特别是如果自定义包括 logical/functional 序列。
但是通过良好的脚本编写,您可以从头开始获得可能更可靠的定制(而不是从另一台机器上复制它)。我建议使用更高级的脚本语言,恕我直言,常规 bash/zsh/csh 脚本还不够 good/convenient。我更喜欢 python,它可以轻松访问每个 cmd 的 return 代码、stdout、stderr,并且使用 pexpect 模块可以驱动交互式 cmds。
有一些工具可以处理特定类型的自定义(sw 包安装、配置文件),但不是我需要的全部,所以我没有费心直接使用自定义脚本(更多工作,但完全控制)。个人喜好,呵呵,其他人会反对。
你看过Docker, Ansible, Cheff or Puppet了吗? 在 Docker 中,您可以通过在 docker file 中描述所需的操作来构建新容器。您可以轻松地在机器之间移动容器。
Ansible、Cheff 和 Puppet 是系统管理自动化工具。