技术解析

Linux 如何避免误删操作?
0
2021-06-22 13:26:12
idczone
比如遇到像楼主一样的手残党 :

一不小心将某个目录下的文件 rm -rf

或者不小心将某个文件覆盖 cat test.log > config

或者错误编辑文件并且保存后,如何回滚 ?

如何在低级的失误发生后,进行补救 ?

你们是用 git 对某些重要目录进行版本控制 ?
建个 wrapper, 把常用危险命令都软链接替换了… wrapper 里检查危险操作…

Thanks , 查了下 ,通过这种方式 , 还可以建立一个回收站 , 将删除的文件,暂时放入到回收站中。

整体换用带有 快照 /snapshot 功能的 FS/存储 (ZFS, Btrfs, LVM),crontab 作自动定时快照。

Thanks , 才发现有自动定期快照的功能。

不不不,大部分 linux 发行版,这个不是标配功能( xmbc pi 发型版自带,默认开启,早年 openSolaris 也自带)。
属于需要自己“土法炼钢”

改掉动不动就 sudo su 的毛病…… git 经常提交……

备份

alias rm='rm -i'
少用 rm -rf,要删除的移动到一个目录,cron 定期删除。
>尽量不用,或者先 mv 重命名备份原文件再用>

我个人不喜欢 alias 大法。我更喜欢纠正自己的错误,而不是放任自己的错误。
当然必要的防御措施是需要的。比如经常 git commit & push,比如非 git 文件全部网盘同步(包括还有一个 群晖 NAS )。

你们用 NAS 的开自动快照么?
不开,也“可能” 把 “工作机上的误删除动作同步到 NAS,而让 NAS 的那份也被删改”。
“可能”,因为假若不是完全同步,只增不删;若被新的空文件覆盖,也一样等同删除。

建一个类似于回收站的文件夹,把 rm 命令替换成 mv,所有 rm 的文件移动到这个文件夹下,定期清理一下这个文件夹,当个回收站

这些方法都没办法解决重定向的时候把文件覆盖的问题吧

不用 Linux 就能避免

真男人是不需要这些奇巧淫记的,核心问题还在于你不够重视。你把每次操作都当成是打仗,增强自己的仪式感。每输入一次 rm 就先沐浴净身,洗净手指,换上先辈的键盘。一个字符一个字符敲。这特么能出什么问题?
越整这些没用的越容易大意出问题,好像线上操作跟开玩笑似的。

系统文件误操作的解决办法就是尽量不用 sudo,能自己用户完成的不要用 root,我去同事电脑上帮他看东西经常告诉我权限不够,一看,全是 root 权限的文件,告诫了几次都不听,可能没遇过事所以听不进去
本用户文件的话,代码记得经常执行 git push 或 svn ci,反正 merge 到 master 后不特意看也看不到多余的日志,git 和 svn 都是记录差异也不太会塞满服务器。非代码的话,少用 rm,mv test test.bak ,然后继续操作。写个脚本加到 crond 里定期 rm 时间久的 bak 文件

本地文件还可以建立一个本地 git 服务,上传上去。删了也可以恢复,除非硬盘坏了或格式化硬盘,那没辙

你既然都 -f 了,还防止个啥,给你防止机会,你自己放弃了

alias rm=trash

NAS 里面我放不常使用的文件,做存档用,因为容量大。
常用的我用 Dropbox 和 iCloud。

不是很推荐 alias
习惯是个很可怕的东西

可以使用图形界面啊, 也有回收站哦

用 mv 命令移动到指定位置。禁用 rm

用 mv -r / .也会弄坏系统。

需要交几次学费 就记住了

就是长心眼,危险操作多检查,没事别用 root

做好备份
做好备份
做好备份
这个比什么都实在

避免误操作的方式就是减少误操作的几率,而不是蛇皮走位天天误操作然后指望让程序去聪明地阻止你。
操作之前认真计划,操作时仔细确认,按下回车之前确认好自己的操作是否正确,然后再按下回车键。
很多人说用 sudo。sudo 对于 sysadmin 有个锤子用。本来你用 root 权限瞎瘠薄操作,现在你每个命令之前加上 sudo 然后继续瞎瘠薄操作,有啥区别……
拿飞行举个例子。
一个机长老是忘记自己该干啥,跑道上都准备起飞了,飞行电脑开始抱怨,襟翼忘了拉,手刹忘了放,配平忘了配,信号灯忘了开,起飞速度忘了输入,构型警告禁止起飞。然后再手忙脚乱跟着电脑的要求把东西弄好。
另一个机长在滑行的时候就跟着检查单把事情一样一样检查确认完毕,到了起飞的时候就可以自信拉杆一把梭了。
同样坐飞机,你选那个全靠别人拉着否则就翻车的机长,还是那个认真做好自己工作,不依靠别人的机长。

感觉 alias 是个很危险的办法
在自己的电脑上大手大脚惯了,换到新系统上就容事出事故

用 onedrive 的第三方 cli 版本把整个文件夹实时同步好了= =

线上操作几百台机器,alias 有个锤子用,又不能都配置。
个人觉得还是最小权限原则,一般读就行,需要切换到 root,则小心谨慎,慢一点。权利越大,责任越大

交叉确认,把命令读出来,另一个在场的执行

用 mv 代替 rm

喝酒不 sudo , sudo 不喝酒 只要做到这一条就没事

重要文件都 git 或者 dropbox 备份(取决于是二进制为主还是文本文件为主)
不重要的嘛,删了就删了

https://github.com/andreafrancia/trash-cli 配合 alias

rm 操作都有二次输入主机名确认, 还是被 rm -rf /* 了

别老是 sudo~

老哥稳

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服