几周前,一位高级团队成员意外删除了一个重要的 oracle 数据库文件 (.dbf)。幸运的是,我们可以使用几天前保存的备份文件来恢复系统。
看到这种情况后,我决定实施一种解决方案,rm
在提示符下键入命令时至少进行双重确认。(检查超过rm -i
)
即使我们rm -i
默认使用别名,超级快速的键盘手通常也会像那个成员一样犯错误,包括我在内。
起初,我将(通过使用别名)基本 rm 命令替换为特定的 bash 脚本文件,该文件会打印并多次确认目标是否与 oracle 数据库路径或文件相关。简单来说,该脚本在操作rm之前作为过滤器操作。如果与 oracle 无关,则 rm 会正常运行。
在实现时,我认为大多数功能都运行良好,因为除了一个问题外,我只期望用户提示环境。
如果在其他脚本(提供的 oracle、其他供应商修改 oracle 路径、安装程序等)或程序(通过使用系统调用)中调用 rm 命令。
我该如何区分这种情况?如果上面提供的脚本遇到修改后的 rm,则该执行将不再继续。
你有更复杂的方法吗?
我相信大多数读者都能理解我懒惰的解释。如果您无法从上面看到清晰的风景,请告诉我。我会详细说明。