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