当前位置: 首页 > 科技观察

这10种linux命令在线操作,运维一定要牢记

时间:2023-03-21 18:58:51 科技观察

每年都会有删库跑路的新闻。现实中,删库容易,逃脱难,从业者泪流满面。在这些行动中,并不总是存在主观恶意,但这些命令太危险了。在线操作时,一定要保持清醒的头脑,切记不能大意。如果你说你错了,谁会相信?切记:酒后严禁登录在线服务器。严禁在战斗结束后登录在线服务器。严禁长时间加班后操作线上环境,深吸一口气。首先执行ifconfig或ipaddr命令以确认它在正确的服务器上。$ipaddr1:lo:mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8scopehostlovalid_lftforeverpreferred_lftforeverinet6::1/128scopehostvalid_lftforeverpreferred_lftforever2:eth0:mtu1500qdiscfq_codelstateUPgroupdefaultqlen1000link/ether00:16:3e:34:e9:a9brdff:ff:ff:ff:ff:ffinet172.19.26.39/20brd172.19.31.255scopeglobaldynamicnoprefixrouteeth0valid_lft313267185secpreferred_lft313267185secinet6fe80::216:3eff:fe34:e9a9/64scopelinkvalid_lftforeverpreferred_lftforever这时候再次深吸一口气,然后执行pwd命令,确保你在正确的目录下。$pwd/etc/nginx接下来可以查看执行的命令是不是危险命令。2、rm-rf命令的-rf参数会递归删除文件,误删文件会造成数据丢失,造成严重后果。如果多了一个空格,或者/没填,或者文件有特殊符号,大部分的误操作导致文件被误删。rm-rf./*=>rm-rf/rm-rfabc/=>rm-rfabc/执行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相呼应。命令如下:ddif=/dev/zeroof=/dev/sdabs=512count=1以上命令用于格式化硬盘。如果您的剪贴板中有这样的命令并且不小心将其粘贴到命令行中,您的数据将会消失。6、cp命令cp命令会覆盖,如果后悔了,原文件会很难找。建议加上aliascp='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也是我们的好帮手,可以这样设置:aliasmysql='mysql-U'(2)重要的操作,使用事务starttransaction执行并确认commit(3)DML误操作回滚,可以使用binlog2sql(4)小心DDL操作DDL往往意味着巨大的坑,表锁,误删,数据转换往往是灾难性的。DDL对整张表,或者整张表的所有行和列进行操作,产生排它锁,导致疯狂io,严重影响生产。其中任何一项都是致命的。仔细查看DDL,尽量在业务低峰时执行,尽量使用inplace方式操作。End在网上价值数万,需要慎重执行。千万年航海小心。在危险的网络环境中,做事追求的不是速度,而是稳定。毕竟对于一个成熟的公司来说,审批过程需要好几天的时间,何必在意这几秒钟呢?