基本自动化

基本自动化

我是一名新手服务器管理员,最近从 Slicehost.com 购买了一个帐户,并使用它来托管一些个人网站,这样我就可以学习更多知识(我主要是一名 Web 开发人员)。

几年前,我记得在 Windows 上使用过批处理脚本,它可以让我自动执行某些基本操作。Unix 上是否存在类似的东西?

我想在 Apache2 中自动设置新域,因此基本上创建目录、设置权限、在 sites-available 中创建配置文件,然后运行 ​​a2ensite 命令并最后重新启动 Apache。

我可以通过从命令行运行的基本脚本来实现这一点吗?如果您能提供任何基本提示和指导,我将不胜感激。

谢谢!

答案1

我建议你阅读一下 bash 脚本。

一些好的链接:

Bash 比批处理文件强大得多:)

答案2

这绝对是可行的。任何可以通过命令行上的一系列命令完成的事情都可以放入 bash 脚本并从那里运行。

脚本以 #!/bin/bash 或 #!/bin/sh 开头(表示 sh 而不是 bash)之后,# 开始注释行 $VARIABLE_NAME 可用于引用由 VARIABLE_NAME=foo 设置的变量

命令行参数可以从 $1 开始获取($0 是被调用程序的名称)。

因此,如果你想调用 script.sh new_site 脚本

你可以让 script.sh 看起来像这样

/bin/sh #!/bin/sh 复制代码

mkdir /var/www/htdocs/new_site chmod 755 /var/www/htdocs/new_site... apachectl 重启

然后您只需以足够的权限运行脚本即可实际执行所有运行的命令。

使用 sh -x 进行调试(它将逐步执行脚本并输出大量输出,以便您了解实际发生的情况)。

答案3

您也可以研究一下 puppet。对于单个服务器来说,它有点大材小用,但绝对是为处理这种事情而设计的。

相关内容