误删除文件我想是每个程序员都遇到过的问题, 有的时候可能造成影响非常小,但是有时候会造成无法挽回的后果,这种例子比比皆是,大家可以自行google。 那么今天就给大家分享一些简单但可以有效的防止误删数据的小技巧:
修改或删除数据前请务必备份,最好有异机备份,修改配置等先提交版本管理系统再发布到线上。
删除应使用mv命令替代rm命令,无用的文件不要着急删除,而是移动到回收站/tmp里观察一段时间。再写个定时shell定期清理,以模拟“回收站”功能。
可以通过设置别名等手段屏蔽rm,这样一旦直接用到rm命令就是意识到。把rm配置成rm -i 或者 mv 之类的命令
如果非要删除数据,还可用find结合rm替代单纯的rm,包括设定定时任务等动作执行清理。
如果非要使用rm删除数据,请尽量先切换目录到待删除数据所在的目录。
能不用通配符就不用通配符。
例如:
[root@pythontab.com /]# cd /pythontab.com/ [root@pythontab.com /]# rm -f test1 test2
如果非要使用rm删除并且要采用通配符,请按下面方法:
[root@pythontab.com /]# cd /pythontab.com/ [root@pythontab.com pythontab.com]# rm -fr * #目标中最好不要带有“/”,因为“/”太危险, 原因请看第8条
应禁止使用类似rm -fr /pythontab.com/*命令删除
[root@pythontab.com /]# rm -fr /pythontab.com/*
例如:rm -fr /pythontab.com/空格* ###*的前不小心多了空格,会删除当前目录下的所有内容。
[root@pythontab.com /]# rm -fr /pythontab.com/空格* #会把当前目录根下全删了。
更甚者, 如果在pythontab.com多了一个空格, 那就大悲剧啦,根目录都删除了...
[root@pythontab.com /]# rm -fr / pythontab.com/* #会把根目录全删了,所有文件,所有文件,所有文件!
如果必须要rm -fr /pythontab.com/*命令删除,最后的避免错误方法就是要用tab键去补全,不要手敲任何字符,防止误删。
如果删除的不是目录,就不要用rm -fr,采用最下化的方法rm -f即可,甚至重要的少量文件,可以不用-f,以获得确认删除提示信息。
我们常用命令
cd ${log_path}
rm -rf *
在shell脚本中我们常用上述命令, 合并成一个语句
cd ${log_path} && rm -rf *
当前半句执行失败的时候,后半句不再执行。更安全
慎用rsync --delete
A. 删除数据后,多数情况是可以恢复的,但会影响业务.
例如:需要停机恢复,且数据丢了,较长时间用户访问不了对应数据了
B. 恢复工具诸如ext3grep等。
C. 事情发生前未雨绸缪永远比发生了在解决好得多。
D. 养成专业规范的运维习惯
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理