在不同机器上编辑同一文件的建议

在不同机器上编辑同一文件的建议

我们的 Rails 应用程序在多台机器上进行扩展,有时我们需要更改设置production.yml,现在我们必须 ssh 到每台服务器并在每台机器上单独进行编辑。

处理此案的正确方法是什么?

答案1

配置管理系统,例如木偶厨师正是为了这个目的而设计的。

如果您不想使用它们,可以使用脚本将文件 SCP 发送到服务器:

while read host; do
    scp -i yourKey production.yml user@$host:/destination/production.yml
    # Add an ssh command here if you need to restart any services
done <  hosts.txt; 

答案2

最好使用 rsync 而不是 scp。 rsync 的优点:

首先,它会检查源文件与目标文件相比是否有任何更改。只有发生变化才会转移,因此与相比,它会花费更少的时间并且更快scp.

while read host
do
    rsync -avzh production.yml userid@$host:/destination_location/production.yml
done < hosts.txt

相关内容