使用 UBUNTU 和 Oracle 的 Virtal Box,并使用此脚本在 Virtual Box 中启动 nginx,并将其放置在 Virtual Box 中~/init.d
#!/bin/bash
### BEGIN INIT INFO
# Provides: Testinit
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
#
RETVAL=0;
start() {
CurrentTime=$(date +%d/%m/%Y"-"%I:%M:%S)
./usr/local/nginx/sbin/nginx
echo "Current Time:"$CurrentTime>>/home/server/Desktop/NginxLogs.txt
echo "!Starting nginx!" >>/home/server/Desktop/NginxLogs.txt
像这样,我想编写自动脚本(setup.sh 文件)并将该脚本放在系统内的所有虚拟盒中,例如 8 个虚拟盒,并且在所有虚拟盒中都安装了 NGINX。
现在,我面临的问题是,当我想在 setup.sh 中更改某些内容时,我必须转到每个虚拟盒,或者从我的主机通过 SSH 与每个虚拟机进行通信。我正在考虑编写另一个脚本(例如:Update.sh),并且在该脚本中,我们给出一个在主机中保存和最近编辑的文件路径(例如:DummySetup.sh)。
一旦我运行该脚本,保存在每个虚拟机中的所有 setup.sh 文件都应更新更改或用 DummySetup.sh 的内容替换内容。希望这是可能的。如能提供帮助,我将不胜感激。
答案1
您所描述的是大规模自动化,其标准答案是 Puppet:http://puppetlabs.com/puppet/what-is-puppet/
如果你不喜欢 Puppet,还有 Chef:http://www.opscode.com/chef/
最后,既然你确实说过你正在使用 Ubuntu,那么你可以考虑 Juju:https://juju.ubuntu.com/