这 10条 Linux 命令锦囊,防你牢底坐穿

每一年,都会有删库跑路的新闻。现实中,删库容易,跑路难,从业者充满了泪水。
这些动作里面,并不总是存在主观的恶意,而是这些命令太危险了。线上操作时,一定要保持清醒的头脑,切记马虎大意。

你说你误操作的,谁信呢?

切记:
  • 严禁酒后登录线上服务器操作
  • 严禁吵架后情绪激动登录线上服务器操作
  • 严禁长时间加班后操作线上环境
  • 禁止在线上试验不熟悉的命令
  • 重要系统先做备份

1. 准备工作

在执行危险命令时,请深呼吸。首先执行ifconfig,或者ip addr命令,确认是在正确的服务器上。

$ ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000    link/ether 00:16:3e:34:e9:a9 brd ff:ff:ff:ff:ff:ff    inet 172.19.26.39/20 brd 172.19.31.255 scope global dynamic noprefixroute eth0       valid_lft 313267185sec preferred_lft 313267185sec    inet6 fe80::216:3eff:fe34:e9a9/64 scope link       valid_lft forever preferred_lft forever
这时候,再次深呼吸,然后执行pwd命令,确保自己是在正确的目录下面。
$ pwd/etc/nginx

接下来,就可以看一下执行的命令,是不是危险指令。

2. rm -rf命令

-rf参数将递归删除文件,误删文件导致数据丢失,产生严重后果。如果多一个空格,或者 /没有补齐,或者文件有特殊符号,导致误删文件的误操作居多。
rm -rf ./* => rm -rf /rm -rf abc/ => rm -rf abc /
执行 rm 命令,手速一定要慢。按补全,一定要等屏幕回显后操作。
另外,在脚本中,rm的坑也不小,比如:
rm -rf ${p}/*
如果p变量没有设置,就会是灾难性的后果,命令等同于rm -rf /。所以rm还有另外一条谨言:在脚本中执行rm的时候,请先判断相关的变量是否为空。

3. chmod命令

chmod是更改目录和文件权限用的,如果处理不当,会产生和rm一样的后果。
这里介绍一种非常霸道的恢复方法。在执行这个命令之前,先把所有文件的权限备份一下。这里用到getfacl这个命令。
getfacl -R / > chmod.txt

恢复的时候,执行

setfacl --restore=chmod.txt

它将回放这个文件的权限,有时候是救命的。

4. cat命令

cat命令也能出错?是的,而且还很严重,因为你掌握了高级技能:重定向符。
如果你想要向文件中追加 内容,会使用 cat >> file的方式,如果你不小心少输入了一个>,那么不好意思,你的文件内容就丢失了。
类似的命令还有echo等,可以看到,问题不在cat,在重定向符,太容易写错。
在此,请你操作之前,确保每次深呼吸,数好箭头的个数再操作。

5. dd命令

dd命令很酷,和xjjdogjj遥相呼应。命令如下:

dd if=/dev/zero of=/dev/sda bs=512 count=1
以上命令,用于格式化硬盘,如果你的剪贴板里面有这样的命令,而且不小心粘到了命令行里,你的数据将会蒸发。

6. cp命令

cp命令会产生覆盖,如果你后悔了,想找到原文件,将非常困难。
建议增加alias cp ='cp -i',i参数表示会在拷贝时生成一个备份。大多数时候没用,有时候很有用。
和我们买保险一个道理。
mv命令类似,也可以加上-i。

7. tar命令

不要觉得tar很安全,我就曾经因为tar命令丢失过数据。
第一,tar -xf 解压的时候, 如果解压的文件已经在当前目录,覆盖原有的文件夹及文件。覆盖这两个字,很多时候意味着不安全。

8. vim命令

vim容易在打开大文件的时候,造成系统内存占用过高。如果触发了操作系统的oom-killer,将会造成其他正常进程的死亡。
如果你手速过快,执行了:wq,将会造成文件的不一致甚至损坏。
可是使用less或者more这样的命令,来查看信息。更高效,也更安全。
如果你实在不得不用vim,请保持使用view命令,它是vim的只读模式。

9. mkfs.*

类似于mkfs.ext4这种指令,将会格式化硬盘,一般用于线上环境初始化,否则不要执行。

10. MySQL

(1)使用mysql -U

--safe-updates, --i-am-a-dummy, -U
使用mysql -U 防止deleteupdate执行没带where条件的操作。当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,mysql程序拒绝执行。
alias同样是我们的好帮手,可以这么设置:
alias mysql='mysql -U'

(2)重要操作时,使用事务

start transaction执行确认commit
(3)DML 误操作回滚,可以使用binlog2sql
(4)小心 DDL 操作
DDL往往意味着巨大的坑,锁表、误删、数据转变,往往是灾难性的。DDL 对整个表进行操作,或者是整个表所有的行、列,产生exclusive锁,产生疯狂io、严重影响生产。
这里面的任何一条,都是要命的。
仔细检查DDL,尽量在业务低峰执行,而且尽量采用inplace方式操作。

End

线上值万金,执行需谨慎。小心驶得万年船,在危险的线上环境,做事追求的不是快,而是稳。
毕竟,成熟的公司,光审批阶段就耗了好几天,你又为啥这么在乎这几秒钟呢?
来源:本文转自公众号小姐姐味道(ID:xjjdog),点击查看原文
(0)

相关推荐

  • Linux高级命令

    文章目录 1.重定向 2.查看文件内容命令 2.1 cat查看小文件 2.2 more分屏查看大文件 2.3 管道(|) 3.链接命令 3.1 软链接 3.2 硬链接 4.文本搜索命令 5.查找文件命 ...

  • MySQL高可用解决方案MMM

    一.MMM简介: MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制配置的监控.故障转移和 ...

  • Linux学习--2.文件管理的基本命令

    文件的基本操作 前言: 看完这篇图文我应该能保证读者在Linux系统下对文件的操作能跟用Windows环境下一样流畅吧,好了下面正文 正文: 基础知识: linux里共有以下几类文件,分别为目录(di ...

  • 这 21 条 Linux 命令,务必记住!

    重磅干货,第一时间送达 本文章总结了 21 条最频繁使用的 Linux 命令,也是面试官考察你对 Linux 系统熟不熟常问的面试题,可以收藏本文章,作为一个 Linux 命令速查手册. 一.文件和目 ...

  • 常用100条linux命令

    在这篇文章中跟大家分享一下接近 100 个 Linux 常用命令大全,希望可以帮助到大家. 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 1 2 3 4 5 6 7 8 9 10 ...

  • 最危险的10个Linux命令,希望你牢记在心

    文章来源:Linux迷 文章链接:https://www.linuxmi.com  就像在Windows上一样,Linux也有很多终端命令来执行不同的操作.但是,与Windows不同,Linux不会要 ...

  • 这10个 Linux 命令,让你的操作更有效率

    来源:老九课堂 Linux是最适合开发的操作系统.它是把所有的操作权都交给了用户,有什么操作,就会呈现出什么样的格局.开放.自由.诚实,就是它最大的魅力. 而且越来越多的企业开始选择Linux作为服务 ...

  • 10条惊险绝美的国内公路,穿山跨湖、盘山迷宫、腾云驾雾

    读万卷书不如行万里路 在路上 是我们大多数的状态 然而你早已厌倦城市的马路 踏着清晨的第一束光而出 拖着疲惫在浓夜中而归 在路上 成了一个极累的动词 但如果你见过 雪山湖泊.滚滚沙漠.碧海连天 或者崇 ...

  • 楷法10条,学习书法要记牢

    楷法10条,学习书法要记牢

  • 农村常见的10种野生动物,抓上一只,让你牢底坐穿

    小的时候我们在农村经常看到的野生动物现在不多见了,国家为了保护这些野生动物,制定了相关的法律法规.如果我们去农村游玩见到这些动物,一定不要去抓捕,因为它们都是受保护的. 1.燕隼 燕隼的体形比猎隼.游 ...

  • 这些最常用的Linux命令,每一条都应该会,没有借口!

    linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心. 线上查询及帮助 ...

  • 野生菌尝鲜安全第一,食安君送出这10条“安全锦囊”请收好

    雨季来临,又到了一年一度野生菌大量采摘上市的季节. 云南是野生菌的天堂.迄今,云南记载可食的野生菌在1000种以上,市场销售可食用的野生菌有250余种,毒菌约200余种,易混淆常误食而引起中毒种类约2 ...