我的主要工作领域是编程,有时我必须在生产服务器上执行一些操作(在部署应用程序或配置某些东西时......)。
所以我的问题是,应该做些什么来确保我不会在生产服务器上搞砸我打算在我的机器/测试环境上做的事情?例如,清除一些数据库或删除日志。
我想到的是一些基本的东西,比如:
- 让生产控制台只打开我在那里工作所需的时间,然后关闭它
- 将生产服务器上的控制台配置为与其他控制台真正不同 - 例如红色背景或类似的东西
- 有每个命令都需要额外的确认
是否有任何其他规则可以帮助保持理智并且不会弄乱生产服务器?
在防止错误和阻碍工作之间总是有一条细线。虽然我是一名敬业的管理员,但我们的组织足够小,因此实施大企业希望确保生产安全的所有额外开销和繁文缛节是不切实际的。
除了您的规则,我们还有以下内容:
使用不同的密码:除了不同的用户可能具有访问权限之外,如果密码不同,您将无法登录到生产系统数据库(并且做一些坏事)认为它是测试服务器数据库。
颜色编码:这也是一个好主意,因为很难错过。根据主机名设置命令行提示的颜色,设置GUI访问的桌面背景颜色。
我这样做的主要方法是如您所说,更改背景颜色,更改布局,使其与开发服务器有很大不同。
您可以做的另一件事是将生产服务器上的密码更改为您必须考虑输入的密码,这样您就知道您正在登录生产服务器。
我在其他公司看到的另一种方法是实际上有一种将工作从开发推广到生产的方法,使用 Web 界面或批处理脚本,这样您实际上就不用在生产服务器上工作,而只是在工作时进行推广准备好了。
规则 1,如果开发人员可以访问更改内容,则它不是生产服务器。
运行正确的版本控制(不仅仅是 VCS,而是正确的标记)在这里真的很有帮助。
我见过的一件事是在您的运营网络和生产网络之间使用“中间”终端服务器,因此在终端服务会话中必须完成任何更改(对于生产系统)。通过对测试系统不做同样的事情,区别非常非常明显。