搜索
首页运维linux运维以为很熟悉 Linux,万万没想到在生产环境翻车了.....


从事运维工作多年,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题。也见到过很多小伙伴们,自以为对Linux系统很熟悉,一看到问题,从不心慌,信心满满的,但是生产环境翻车(差点被开除)的名场面,数不胜数。。。

所以,今天简单整理一些良好的 Linux 操作习惯,分享给各位小伙伴。让我们安全操作,永不翻车!!

以为很熟悉 Linux,万万没想到在生产环境翻车了.....

线上操作规范

测试使用

当初学习Linux的使用,从基础到服务到集群,都是在虚拟机做的,虽然老师告诉我们跟真机没有什么差别,可是对真实环境的渴望日渐上升,不过虚拟机的各种快照却让我们养成了各种手贱的习惯,以致于拿到服务器操作权限时候,就迫不及待的想去试试,记得上班第一天,老大把root密码交给我,由于只能使用putty,我就想使用xshell,于是悄悄登录服务器尝试改为xshell+密钥登录,因为没有测试,也没有留一个ssh连接,所有重启sshd服务器之后,自己就被挡在服务器之外了,幸好当时我备份了sshd_config文件,后来让机房人员cp过去就可以了,幸亏这是一家小公司,不然直接就被干了……庆幸当年运气比较好。

第二个例子是关于文件同步的,大家都知道rsync同步很快,可是他删除文件的速度大大超过了rm -rf,在rsync中有一个命令是,以某目录为准同步某文件(如果第一个目录是空的,那么结果可想而知),源目录(有数据的)就会被删除,当初我就是因为误操作,以及缺乏测试,就目录写反了,关键是没有备份……生产环境数据被删了,没备份,大家自己想后果吧,其重要性不言而喻。

Enter前再三确认

关于rm -rf / var 这种错误,我相信手快的人,或者网速比较慢的时候,出现的几率相当大 当你发现执行完之后,你的心至少是凉了半截。大家可能会说,我按了这么多次都没出过错,不用怕,我只想说 当出现一次你就明白了,不要以为那些运维事故都是在别人身上,如果你不注意,下一个就是你。

切忌多人操作

我在的上一家公司,运维管理相当混乱,举一个最典型的例子吧,离职好几任的运维都有服务器root密码。通常我们运维接到任务,都会进行简单查看如果无法解决,就请求他人帮忙,可是当问题焦头烂额的时候,客服主管(懂点linux),网管,你上司一起调试一个服务器,当你各种百度,各种对照,完了发现,你的服务器配置文件,跟上次你修改不一样了,然后再改回来,然后再谷歌,兴冲冲发现问题,解决了,别人却告诉你,他也解决了,修改的是不同的参数……这个,我就真不知道哪个是问题真正的原因了,当然这还是好的,问题解决了,皆大欢喜,可是你遇到过你刚修改的文件,测试无效,再去修改发现文件又被修改的时候呢?真的很恼火,切忌多人操作。

先备份后操作

养成一个习惯,要修改数据时,先备份,比如.conf的配置文件。另外,修改配置文件时,建议注释原选项,然后再复制,修改 再者说,如果第一个例子中,有数据库备份,那rsync的误操作不就没事了吧 所以说丢数据库非一朝一夕,随便备份一个就不用那么惨。

涉及数据

慎用rm -rf

网上的例子很多,各种rm -rf /,各种删除主数据库,各种运维事故…… 一点小失误就会造成很大的损失。如果真需要删除,一定要谨慎。

备份操作大于一切

本来上面都有各种关于备份,但是我想把它划分在数据类再次强调,备份非常之重要哇 我记得我的老师说过一句话,涉及到数据何种的谨慎都不为过 我就职的公司有做第三方支付网站和网 贷平台的 第三方支付是每两个小时完全备份一次,网 贷平台是每20分钟备份一次 我不多说了,大家自己斟酌吧

稳定大于一切

其实不止是数据,在整个服务器环境,都是稳定大于一切,不求最快,但求最稳定,求可用性 所以未经测试,不要在服务器使用新的软件,比如nginx+php-fpm,生产环境中php各种挂啊 重启下就好了,或者换apache就好了。

保密大于一切

现在各种艳照门漫天飞,各种路由器后门,所以说,涉及到数据,不保密是不行的。另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。

涉及安全

ssh

更改默认端口(当然如果专业要黑你,扫描下就出来了) 禁止root登录 使用普通用户+key认证+sudo规则+ip地址+用户限制 使用hostdeny类似的防爆破解软件(超过几次尝试直接拉黑) 筛选/etc/passwd中login的用户

防火墙

防火墙生产环境一定要开,并且要遵循最小原则,drop所有,然后放行需要的服务端口。

精细权限和控制粒度

能使用普通用户启动的服务坚决不使用root,把各种服务权限控制到最低,控制细粒度要精细。

入侵检测和日志监控

使用第三方软件,时刻检测系统关键文件以及各种服务配置文件的改动 比如,/etc/passwd,/etc/my.cnf,/etc/httpd/con/httpd.con等; 使用集中化的日志监控体系,监控/var/log/secure,/etc/log/message,ftp上传下载文件等报警错误日志; 另外针对端口扫描,也可以使用一些第三方软件,发现被扫描就直接拉入host.deny。这些信息对于系统被入侵后排错很有帮助。有人说过,一个公司在安全投入的成本跟他被安全攻击损失的成本成正比,安全是一个很大的话题 也是一个很基础的工作,把基础做好了,就能相当的提高系统安全性,其他的就是安全高手做的了

日常监控

系统运行监控

好多人踏入运维都是从监控做起,大的公司一般都有专业24小时监控运维。系统运行监控一般包括硬件占用率 常见的有,内存,硬盘,cpu,网卡,os包括登录监控,系统关键文件监控 定期的监控可以预测出硬件损坏的概率,并且给调优带来很实用的功能。

服务运行监控

服务监控一般就是各种应用,web,db,lvs等,这一般都是监控一些指标,在系统出现性能瓶颈的时候就能很快发现并解决。

日志监控

这里的日志监控跟安全的日志监控类似,但这里一般都是硬件,os,应用程序的报错和警报信息 监控在系统稳定运行的时候确实没啥用,但是一旦出现问题,你又没做监控,就会很被动了。

性能调优

深入了解运行机制

其实按一年多的运维经验来说,谈调优根本就是纸上谈兵,但是我只是想简单总结下,如果有更深入的了解,我会更新。在对软件进行优化之前,比如要深入了解一个软件的运行机制,比如nginx和apache,大家都说nginx快,那就必须知道nginx为什么快,利用什么原理,处理请求比apache,并且要能跟别人用浅显易懂的话说出来,必要的时候还要能看懂源代码,否则一切以参数为调优对象的文档都是瞎谈。

调优框架以及先后

熟悉了底层运行机制,就要有调优的框架和先后顺序,比如数据库出现瓶颈,好多人直接就去更改数据库的配置文件,我的建议是,先根据瓶颈去分析,查看日志,写出来调优方向,然后再入手,并且数据库服务器调优应该是最后一步,最先的应该是硬件和操作系统,现在的数据库服务器都是在各种测试之后才会发布的 适用于所有操作系统,不应该先从他入手。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

每次只调一个参数

每次只调一个参数,这个相比大家都了解,调的多了,你就自己就迷糊了。

基准测试

判断调优是否有用,和测试一个新版本软件的稳定性和性能等方面,就必须要基准测试了,测试要涉及很多因素 测试是否接近业务真实需求这要看测试人的经验了,相关资料大家可以参考《高性能mysql》第三版相当的好。我的老师曾说过,没有放之四海皆准的参数,任何参数更改任何调优都必须符合业务场景 所以不要再谷歌什么什么调优了,对你的提升和业务环境的改善没有长久作用。

运维心态

控制心态

很多rm -rf /data都在下班的前几分钟,都在烦躁的高峰,那么你还不打算控制下你的心态么,有人说了,烦躁也要上班,可是你可以在烦躁的时候尽量避免处理关键数据环境 越是有压力,越要冷静,不然会损失更多。大多人都有rm -rf /data/mysql的经历,发现删除之后,那种心情你可以想象一下,可是如果没有备份,你急又有什么用,一般这种情况下,你就要冷静想下最坏打算了,对于mysql来说,删除了物理文件,一部分表还会存在内存中,所以断开业务,但是不要关闭mysql数据库,这对恢复很有帮助,并使用dd复制硬盘,然后你再进行恢复 当然了大多时候你就只能找数据恢复公司了。试想一下,数据被删了,你各种操作,关闭数据库,然后修复,不但有可能覆盖文件,还找不到内存中的表了。

对数据负责

生产环境不是儿戏,数据库也不是儿戏,一定要对数据负责。不备份的后果是非常严重的。

追根究底

很多运维人员比较忙,遇到问题解决就不会再管了,记得去年一个客户的网站老是打不开,经过php代码报错 发现是session和whos_online损坏,前任运维是通过repair修复的,我就也这样修复了,但是过了几个小时,又出现了 反复三四次之后,我就去谷歌数据库表莫名损坏原因:一是myisam的bug,二是mysqlbug,三是mysql在写入过程中 被kill,最后发现是内存不够用,导致OOM kill了mysqld进程 并且没有swap分区,后台监控内存是够用的,最后升级物理内存解决。

测试和生产环境

在重要操作之前一定要看自己所在的机器,尽量避免多开窗口。

以上是以为很熟悉 Linux,万万没想到在生产环境翻车了.....的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:Linux中文社区。如有侵权,请联系admin@php.cn删除
GitLab在Debian上的插件如何管理和使用GitLab在Debian上的插件如何管理和使用Apr 13, 2025 am 06:39 AM

本文指导您如何在Debian系统上安装、配置和使用GitLab插件,提升代码管理和协作效率。GitLab是一个功能强大的开源代码托管平台,适用于团队和个人开发者。一、GitLab安装更新系统软件包:sudoapt-getupdate安装依赖:sudoapt-getinstall-ycurlopenssh-serverca-certificatestzdataperl添加GitLab官方源:curlhttps://packages.gitlab.com/in

Debian如何进行Hadoop性能测试Debian如何进行Hadoop性能测试Apr 13, 2025 am 06:36 AM

本文介绍如何在Debian系统上对Hadoop集群进行性能测试,涵盖准备工作、测试工具、测试步骤及结果分析等方面。一、准备阶段Hadoop安装与配置:确保Debian系统已正确安装Hadoop,并仔细配置core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等核心配置文件,确保其与集群配置相符。参考Hadoop官方文档进行安装和配置。二、性能测试工具选择合适的工具至关重要:ApacheJMeter:一款流行的开源性

Debian Hadoop应用案例有哪些Debian Hadoop应用案例有哪些Apr 13, 2025 am 06:33 AM

Hadoop,这个开源的分布式计算框架,在海量数据处理和分析领域发挥着巨大作用。虽然目前没有直接的DebianHadoop应用案例的公开信息,但我们可以探讨Hadoop在实际应用中的几种典型场景:巨量数据存储与高效访问:Hadoop的HDFS(HadoopDistributedFileSystem)提供了可靠的存储方案,能够轻松应对PB级甚至EB级数据的存储和访问需求,确保数据安全性和高吞吐量。构建企业级数据仓库:结合Hive和Pig等工具,Hadoop可以构建大型数据仓库

Debian OpenSSL如何集成到应用中Debian OpenSSL如何集成到应用中Apr 13, 2025 am 06:30 AM

在Debian系统中集成OpenSSL库,只需几个简单的步骤。第一步:安装OpenSSL开发库使用以下命令安装必要的开发库和头文件:sudoapt-getupdatesudoapt-getinstalllibssl-dev第二步:在应用中使用OpenSSL在你的C/C 代码中,包含OpenSSL头文件并链接OpenSSL库。例如:#include#include编译时,使用-lssl-lcrypto选项链接库:gccyour_application.c-oyo

如何在Debian上使用OpenSSL命令行如何在Debian上使用OpenSSL命令行Apr 13, 2025 am 06:27 AM

Debian系统下的OpenSSL命令行工具功能强大,可用于密钥对生成、证书创建与管理、数据加密解密等多种任务。本文将引导您快速上手OpenSSL。一、OpenSSL安装首先,确认您的Debian系统已安装OpenSSL。若未安装,请执行以下命令:sudoaptupdatesudoaptinstallopenssl二、密钥对生成1.生成RSA私钥:opensslgenrsa-outprivate.key2048此命令生成2048位RSA私钥,并保存至private.k

Debian如何集成Hadoop与其他工具Debian如何集成Hadoop与其他工具Apr 13, 2025 am 06:24 AM

本指南详细介绍如何在Debian系统上集成Hadoop及其他工具,涵盖Java环境搭建、Hadoop配置、集群启动及管理等关键步骤。一、Java环境准备首先,确保系统已安装Java8或更高版本。使用以下命令安装OpenJDK8:sudoaptupdatesudoaptinstallopenjdk-8-jdk验证安装:java-version二、Hadoop下载与解压从ApacheHadoop官网下载最新版Hadoop安装包(例如Hadoop3.3.1),并解压至指定目

GitLab在Debian上的故障排查有哪些技巧GitLab在Debian上的故障排查有哪些技巧Apr 13, 2025 am 06:21 AM

本文提供在Debian系统上高效排查GitLab问题的实用指南。一、日志文件检查首先,检查GitLab的日志文件,通常位于/var/log/gitlab目录下。unicorn、nginx和sidekiq日志尤为重要,它们能提供服务崩溃或错误的线索。二、系统资源监控使用top或htop等工具监控服务器的CPU、内存和磁盘使用情况。高资源占用可能导致GitLab不稳定。命令psaux|grepgitlab可以查看GitLab进程的资源使用情况。三、网络连接测试确认服务器网络连接正

debian邮件服务器故障怎么办debian邮件服务器故障怎么办Apr 13, 2025 am 06:18 AM

您的Debian邮件服务器遇到问题?别担心,本文提供逐步指南帮助您诊断并解决常见故障。第一步:检查服务状态首先,确认Postfix和Dovecot邮件服务是否正常运行:sudosystemctlstatuspostfixsudosystemctlstatusdovecot若服务停止,请使用以下命令启动:sudosystemctlstartpostfixsudosystemctlstartdovecot第二步:日志文件分析查看日志文件以查找错误信息:Postf

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具