登陆

章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略

admin 2019-06-07 148人围观 ,发现0个评论

shell 作为一门 linux 下运用广泛的体系言语,语法简略,上手简单,可是想要用好,少犯过错,也不是那么简单的一件事,可谓虽是居家游览之良药,但也是杀人灭口之利器~

今日就来聊聊 linux 下一个常见的问题:怎么防止误删目录。下文会详细的叙述不同的场景下误删目录,以及相应的解决方案。


1、变量为空导致误删文件

base_path=/usr/sbin

tmp_file=`cmd_invalid`

# rm -rf $base_path/$tmp_file


这种情况下假如 cmd 履行犯错或许回来为空,成果将是灾祸性的,那怎么防备呢?

(1)运用 shell 的变量扩展功用,假如变量为空赋给默认值或许抛出反常退出脚本:

echo ${base_path:?var is empty}/${tmp_file:?var is empty}

-bash: tmp_file: var is empty

(2)人肉判别变量是否为空:

[[ ${tmp_file} == "" ]] && echo 1

1[[ -z ${tmp_file} ]] && echo 1      

1


(3)假如变量未定义还能够敞开 set 选项

# cat a.sh

set -u 

b=

echo $b

echo $a

echo 1

# bash a.sh

a.sh: line 4: a: unbound variable

2、途径含有空格导致误删文件

史上最经典的要数下面这个bumblebee项目了,这个项目原本不出名,不过,程序在其装置脚本install.sh里的一个bug让这个项目一会儿成了全世界最注意图项目。

那咱们该怎么防备这种问题呢?

(1)杰出的编程习气:变量加引号防止扩展

pawriteth="/usr/local /sbin"

# rm -rf $path

rm -rf "$path"

(2)对变量进行语义查看

比方检测是否含有空格等特别字符,不通用,不引荐这么做

3、目录或文件含有特别字符导致误删文件

ll 

总用量 8

drwxrwxr-x 2 work work 4096 11月 24 18:57 '~'

-rw-rw-r-- 1 work work   34 11月 24 19:49 a.sh

# rm -rf ~

那咱们该怎么防备这种问题呢?

(1)杰出的编程习气:变量加引号防止扩展

rm -rf "~"

(2)假如不确定,删去之前 echo 或 find 一章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略下,看变量被扩展成啥了

echo rm -rf "~"

rm -rf ~

echo rm -rf ~ 

 rm -rf /home/work

4、cd 切换目录失利,导致文件被误删

cd ooxx_p章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略ath_not_exsit 

rm -rf *.exe

祝贺这种情况下你的当时目录下匹配文件都会被误删,那咱们该怎么防备这种问题呢?

(1)运用逻辑短路操作

cd path && rm -rf *.exe

(2)检测 path 是否存在

[[ -d ~ ]] && echo 1

1

5、终极解决方案


不要运用 root 操作体系资源,这样至少不会删去体系文件。

6、在登录 shell 下运用友爱的提示符

友爱的命令提示符能时间提示操作者当时在哪个途径下,防止过错的途径下操作文件。


上文到此就完毕了,列举了一些常见的case和解决方案,期望能对咱们有所启示。


最终咱们来说说删库跑路的事儿:


IT界的一个老梗,一次某论坛的数据库管理员诉苦自己老板一向优待他,成果他一气之下就删库跑路了……所以就有了从删库到跑路这个梗.章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略.....

当删库成为一种时髦

6月初,坐落荷兰海牙的一家云主机商 verelox.com, 一名上一任管理员删光了该公司一切客户的数据,而且擦除了大多数服务器上面的内容,带来了巨大的丢掉。


2017-04-05,坐落纽约的云服务商 Digital Ocean 遭受了一次长达4小时56分钟的停机事端,事端的原因是主数据库被删去了(primary database had been deleted),因为装备过错,本应指向测验环境的使命被指向了出产环境,测验使命包括的环境初始化进程删去了主出产数据库。(不以规矩不成方圆:Digital Ocean也删去了他们的数据库)


2月11日,网络剪报服务商 - Instapaper 遭受了超越31小时的服务中止,声明需求一个星期的数据库康复时间,可是经过10天的康复,也只是康复了6个星期的数据。(云服务真的靠谱吗? AWS 用户中止31小时仅康复6周数据)


2月章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略1日,岁除刚刚过完,荷兰的一个DBA在数据库仿制进程中意外地删去了一个过错的服务器上的目录,删去了一个包括300GB的实时出产数据的文件夹。300G的数据库被删成4.5G,因为没有有用的备份,尝试了一切5个康复东西都没有完结康复。在丢掉数据并康复失利后,服务器完全溃散。五重备份无一有用,还有哪些 rm -rf 和GitLab相似的忧伤?


1月20日,大约一定是遭到川普就任的影响,出人意料的服务器毛病影响了一大批炉石玩家,康复时间长,因为意外断电,导致数据库损坏,不得不经过游戏回档康复数据库的运用。


而若操作者具有较高等级的权限,数据库面对的灾祸则是巨大的。Lucchese前IT主管,在离任的时分收集了IT部门一切职工的用户名和暗码然后伪装成一台工作室打印机创建了一个暗码账号,并在其工作室内运用该账号进行了一系列的违规操作,给企业带来了严峻的丢掉。Venzor后来被捕,并面对最高达10年的拘禁日子以及25万美元的罚款。


在刚刚曩昔的7月,花旗银行的前职工伦农雷布朗,经过不合法履行命令,章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略删去了花旗银行的内部网络上10只中心路由器上的装备文件。成果引起的毛病导致全国110个分行无法正常运用网络和电话体系,占到花旗银行一切分支机构总数的约90%。


手动删库几乎太low,我都是脚本主动删

又不由想起了Google从前轰动一时的流水线删库事情章鱼网彩票推荐-Linux Shell从入门到删去根目录跑路攻略,这可是团队作案哟,这么联合真的好吗?(时移世易:遵照既往经历致 1.5PB 数据删去,Google SRE是怎么应对的?)

一个 Google Music 用户报告某些之前播映正常的歌曲现在无法播映了。Google Music 的用户支撑团队通知了工程师团队,这个问题被归类为流媒体播映问题进行查询。3 月 7 日,担任查询此事的工程师发现无法播映的歌曲的元数据中缺少了一个针对详细音频数据文件的指针,所以他就修正了这个歌曲的问题。

可是,Google 工程师常常喜爱深究问题,也引认为豪,所以他就持续在体系中查找或许存在的问题,当发现数据完整性损坏的真实原因时,他却差点吓出心脏病:这段数据是被某个维护隐私意图的数据删去流水线所删掉的。Google Music 的这个子体系的规划方针之一就是在尽或许短的时间内删去海量音频数据。


该流水线使命大约误删去了 60 万条音频文件,大约影响了 2.1 万用户.



没有删过库的Linux管理员,不是好的Linux运维工程师!

做最优异的Linux运维工程师,从删库开端!


那么,今日你删库了吗?


来自:xrzs的博客

链接:https://my.oschina.net/leejun2005/blog/793916

Linux云核算及运维架构师高薪实战班“2019年07月15日行将开课中,120天冲击Linux运维年薪30万,改变速约~~~~


请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP