博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
误删文件的经验之谈
阅读量:5897 次
发布时间:2019-06-19

本文共 1218 字,大约阅读时间需要 4 分钟。

一、引言

  曾经在运维hadoop集群的时候,出过这么一回事:当时集群因为需要维修机器所以进行停机维护,但是当启动集群的时候发现集群怎么也起不了,在没有问别的同事的情况下,自己百度了一下问题,发现format操作能解决问题,当时的我对于format是一知半解,后来执行format以后集群是起来了,但是数据没有了。追悔莫及已经没有用了,只能对自己说吃一见长一智;这明显就是误操作导致数据被删。今天就来聊一下怎么能防止误删文件!

二、防止误删数据技巧:

  1、修改或删除数据前请务必备份,最好有异机备份,修改配置等先提交版本管理系统在发布到线上环境。

  2、可以使用mv命令替代rm命令,无用的文件不要着急删除,而是移动到回收站/tmp里面观察一段时间;可以通过设置别名等手段屏蔽rm。

  例如:

alias rm='mv -f --target-directory=/tmp/.trash/'

  3、如果非要删除数据,还可用find结合rm替代单纯的rm,包括设定定时任务等动作执行清理。

  4、如果非要使用rm删除,请尽量先切换目录在删目录下的数据,能不用通配符就不用通配符。

  例如:

[root@Richard /]# cd /jdtest/[root@Richard /]# rm -f test1 test2

  5、如果非要使用rm删除并且要采用通配符,请按下面方法:

[root@Richard /]# cd /jdtest/[root@Richard jdtest]# rm -fr *  #目标中不要带有“/”。

  6、应禁止使用类似rm -rf /jdtest/*命令删除:

这个命令中,目标路径中的任意斜线前后如果多了空格可能会带来灾难。[root@Richard /]# rm -fr /jdtest/*例如:rm -fr /oldboy/ *,*的前不小心多了空格,会删除当前目录下的所有内容。[root@Richard /]# rm -fr /jdtest/ *  #会把当前目录根下全删了。[root@Richard /]# rm -fr /jdtest/ *

  7、如果必须要rm -rf /jdtest/*命令删除,最后的避免错误方法就是要用tab键去补全,不要手敲任何字符,防止误删。

  8、如果删除的不是目录,就不要用rm -rf,采用rm -f 即可,甚至重要的少量文件,可以不用-f,以获得确认删除提示信息。

  9、额外补充,慎用rsync --delete。

三、总结:

  1、删除数据后,多数情况是可以恢复的,但会影响业务的;

  2、例如:需要停机恢复,且数据丢了,较长时间用户访问不了对应数据了;

  3、恢复工具诸如ext3grep等;

  4、事情发生前未雨绸缪永远比发生了再解决好得多;

  5、养成规范、专业科学的运维习惯、运维流程是避免当黑锅侠的关键!

 

转载地址:http://afasx.baihongyu.com/

你可能感兴趣的文章
GNU GRUB version 0.97 (630K lower /2053824K upper memory)
查看>>
BodyPaint__操作步骤
查看>>
curl
查看>>
1、(w3school)javascript学习总结--javascript的功能
查看>>
poj 2234 Matches Game
查看>>
2018年全国多校算法寒假训练营练习比赛(第五场)
查看>>
080_Dataloader.io
查看>>
计算机网络概述
查看>>
sax方式解析XML学习笔记
查看>>
Springboot配置(上)
查看>>
TensorFlow从入门到理解(一):搭建开发环境【基于Ubuntu18.04】
查看>>
Luogu345: [POI2007]POW-The Flood
查看>>
Flex中事件的初探
查看>>
Oracle Clob使用
查看>>
java--Eclipse for mac 代码提示(代码助手,代码联想)快捷键修改
查看>>
ECC椭圆曲线详解(有具体实例)
查看>>
收集C#常用类:产生一个验证码,改了下
查看>>
采购订单保存不能修改供应商
查看>>
Jdom的简单操作
查看>>
网络设备
查看>>