美文网首页@IT·互联网技术研发汇集
Linux 命令锦囊,防你牢底坐穿

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

作者: 知信学源 | 来源:发表于2024-02-25 10:28 被阅读0次

线上操作时,一定要保持清醒的头脑,切记马虎大意。

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

切记:

严禁酒后登录线上服务器操作

严禁吵架后情绪激动登录线上服务器操作

严禁长时间加班后操作线上环境

禁止在线上试验不熟悉的命令

重要系统先做备份

1. 准备工作

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

$ ip addr    1: 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 forever    2: 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命令很酷,和xjjdog的jj遥相呼应。命令如下:

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 防止delete、update执行没带where条件的操作。当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,mysql程序拒绝执行。

alias同样是我们的好帮手,可以这么设置:

alias mysql='mysql -U'  执行    确认    commit

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

start transaction

(3)DML 误操作回滚,可以使用binlog2sql

(4)小心 DDL 操作

DDL往往意味着巨大的坑,锁表、误删、数据转变,往往是灾难性的。DDL 对整个表进行操作,或者是整个表所有的行、列,产生exclusive锁,产生疯狂io、严重影响生产。

这里面的任何一条,都是要命的。

仔细检查DDL,尽量在业务低峰执行,而且尽量采用inplace方式操作。

End

线上值万金,执行需谨慎。小心驶得万年船,在危险的线上环境,做事追求的不是快,而是稳。

相关文章

  • 《牢底坐穿》

    只因你的一句嘱咐, 我走上虚构的道路, 哪怕肉体糜腐, 饮尽世间甘苦, 也不枉一生虚度。 也许我不过织网劳蛛, 为...

  • 牢底坐穿

    企业要账真难!来要账的客户共有五人,太原一家,青岛一家,本市三家,都是老关系户了。 今天腊月二十八,一大早大家就来...

  • 把牢底坐穿

    作者:何敬平 为了免除下一代的苦难, 我们愿—— 愿把这牢底坐穿! 我们是天生的叛逆者, 我们要把这颠倒的乾坤扭转...

  • 将牢底坐穿?

    有个年轻的亲戚,因法律意识淡薄,个人也比较腼腆,不善言辞,对于工作也是一副无所谓的态度。上一份工作是名牌手表的包装...

  • 想把你的牢底坐穿

    经历了无数的苦难与等待,也是上天眷顾,终于在分开后得以重逢。一想到这两个人的多次分离,一想到这纷扰的爱情,传奇是要...

  • 2018-08-18

    或许这是一场牢底坐穿的持久修行

  • 补2019 2 20

    坦白从宽牢底坐穿抗拒从严回家过年

  • 你要把你的牢底坐穿

    你说,你的家就是你的牢,你要把这牢底坐穿。 我说,无论怎样,只要你开心就好,我会一直这样的爱着你。 你说,你早晚会...

  • 随笔|“将牢底坐穿”

    住院,还要被隔离在病房,真有点“屋漏又逢连夜雨”的感觉。6个人,20平方左右的空间,没事别出去。 大家偶尔聊几句,...

  • 16:13

    对不起爸爸。 我犯了罪。 就把牢底坐穿就好了。 对不起,爸爸。

网友评论

    本文标题:Linux 命令锦囊,防你牢底坐穿

    本文链接:https://www.haomeiwen.com/subject/ricaadtx.html