最近,我听到系统管理员和经理询问如何防止人们意外删除数据。这些非常聪明和敬业的人要求解决方案,以便数据不会因意外或故意而丢失。我听说解决这个问题的一个疯狂想法是取消用户对 rm 命令的访问权限。这真的是一个疯狂的想法吗?
管理员的用户可能会意外地或有时心不在焉地删除数据。他们面临的问题是,用户删除了数据(最有可能使用 rm),然后才意识到他们确实需要这些数据。
请告诉我解决这个问题的最佳方法......???
答案1
如果小损失是可以接受的,我认为一个好的备份策略会更好。
阻止用户删除任何内容都会让他们生气,他们总会找到删除东西的方法(例如使用 mv 或文件管理器)。
另一种策略可能是使用一个系统,其中每次更改实际上都不会删除任何内容,而只是添加数据和元数据。
在这样的系统中,删除命令实际上并不会破坏任何数据,它只是将其标记为已删除,并且数据仍然可以恢复。
例如,开源 ECM Alfresco 可以这样配置。
答案2
定期备份,也定期进行恢复测试,以及清晰易懂的保留策略。
我还发现,一种非正式的政策,即温和地嘲笑那些要求恢复的人,有助于减少恢复次数;因此,我(在备份策略方面)将所谓的灾难恢复与愚蠢的恢复区分开来。从长远来看,任何让用户在点击 <CR> 或单击“是”之前思考一下的方法都是防止意外删除的最佳良药。
答案3
想知道为什么没有人提到 trash-cli 和别名 rm=trash-cli(a la Sebastian)。而且您还必须设置一个 cronjob 来定期删除垃圾文件夹。功能上与备份没有太大区别,但仍然如此。
答案4
除了定期(至少每天)备份外,我建议强制使用rm -i
。输入/etc/bash.bashrc
:
alias rm='rm -i'
摘自手册rm
:
-i prompt before every removal
或者更好的是:
-I prompt once before removing more than three files, or when removing
recursively. Less intrusive than -i, while still giving protection
against most mistakes