2010-10-15 144 views
0

有没有人有或知道一个很好的模板/计划进行自动服务器升级?在这种情况下,我升级了一个python/django服务器,但是我们不得不将这个更新应用到很多机器上,并且要确保该操作是完全可测试的,并且在出现任何问题时可以恢复。服务器升级脚本

我想象的线沿线的东西:

  • 远程获取新的代码
  • 验证码下载(如文件的哈希)
  • 取下来的服务器,显示“正在升级对话框”
  • 备份数据库
  • 备份代码目录
  • 应用新代码更新
  • 验证码更新(例如文件的哈希)
  • 应用数据库更新(如果需要)
  • 运行测试
  • 如果成功
    • 启动服务器
    • 验证服务器更新
  • 其他
    • 恢复旧数据库
    • 恢复旧代码
    • 报错
    • 启动服务器
    • 验证服务器恢复

我敢肯定,这并不详尽,而且有很多其他错误情况来考虑,但我想知道如果像这样的东西已经存在作为一个正式的流程/最佳实践检查清单遵循?理想情况下,这整个事情当然应该由一个脚本调用完成。

+0

你可能会有更多的运气问这个http://serverfault.com – 2010-10-15 15:28:49

回答

2

一旦你有一个计划(你的看起来很不错),Fabric site应该是你的下一站。

+0

我使用fabric来将代码部署到EC2,因为我输入了。 – 2010-10-16 00:26:23

0

我觉得你几乎涵盖了一切。确定对你而言重要的是什么,你是商业实践:这就是重中之重。