删库跑路:因为误操作删除了根目录
可能会发生以下几种情况:
1.直接敲命令删除日志文件
[root@cent06 logs]# rm -rf / opt/tomcat8/logs
# 看出什么端倪了没有。注意:一定不要拷贝这条命令去执行!!!
# 如果你真的好奇,那建议在自己的虚拟机上试试,满足一下你的好奇心。
# 在这条命令中 “多了个空格 ”!
2.脚本中使用,删除日志文件
[root@cent06 ~]$ vim cleanlog.sh
cd ${log_path}
rm -rf *
# 进入到日志目录,然后把日志都删除。
# 乍看没有任何问题。但是当目录不存在时,那悲剧也就发生了。
如何避免类似的删除根目录的“惨剧”发生,有这样一些建议:
1.命令替换
在生产环境把rm -rf 命令替换为mv,再写个定时shell定期清理。
模拟了回收站的功能。
2.收拢权限
帐号权限的分离,线上分配work帐号,只能够删除/home/work/logs/目录,无法删除根目录。
3.使用&&
可以通过“&&”,将
cd ${log_path}
rm -rf *
合并成一个语句
cd ${log_path} && rm -rf *
当前半句执行失败的时候,后半句不再执行。
4.判断目录是否存在
制定编码规范,对目录进行操作之前,要先判断目录是否存在。
首先,发现数据被删除了,立即停止一切操作,避免损失扩大
然后根据不同的删除操作,做不同的恢复。
如果是语句删除,可以通过日志恢复,网上查下,大把的文章
如果是文件删除,立即找人做磁盘恢复