适合 Linux 系统管理的语言是什么?

适合 Linux 系统管理的语言是什么?

我创建了一组漂亮的 Makefile,用于重复配置和维护许多 AWS 集群的步骤。

make 的好处有:

  • 执行的大部分是各种 shell 命令,这些命令在 make 中指定明确且易于维护。
  • 如果任何单个步骤失败,整个过程都会失败(与 bash 不同)
  • 我可以将参数化命令嵌入到 make 配方中(使用 hackery)
  • 我可以指定这些命令的依赖项(使用 hackery)

但是,通过这些,我一直觉得 make 不适合这个任务。参数化命令是一种糟糕的黑客行为,通过调用 make 并使用新参数再次调用自身来实现。make 中的条件执行很糟糕。简单的任务,如 if CHECK_SERVER_STARTED(params) then START_SERVER(params); COLLECT_DATA_FILES(params) if server_was_stopped_at_the_start(params) then STOP_SERVER(params);

此外,使用文件进行依赖跟踪是一个糟糕的想法。

一定有更好的方法。有没有一种好的语言可以让我拥有:

  • shell 命令可以轻松运行(理想情况下是语言的一部分)(即不是 Python、Perl)
  • 条件、分支、故障案例处理等……均已内置
  • 循环
  • 局部变量(或者至少像堆栈这样的东西,这样我就可以调用一个函数,而不会让任何东西弄乱我的全局变量)。

答案1

这读起来很痛苦...太复杂了!

是的,当然有更好的方法。赞成正在紧跟技术的变化。配置管理正是您正在寻找的,并且已经存在多年。您的大多数问题都已得到解决。

相关内容