运维技能:运维人员必须掌握的 10 个核心技能

一、服务器初始化配置(日均操作 3 次 +)

技能描述
新服务器上线 / 重装必做操作,包含主机名、时区、基础安全配置

操作步骤
设置主机名(生产环境规范)

bash
 #临时生效(重启失效)
hostnamectl set-hostname web01-prod

#永久生效(编辑配置文件)
echo "192.168.1.100 web01-prod" >> /etc/hosts

校准系统时区(避免日志时间混乱)

bash
# 查看可用时区
timedatectl list-timezones | grep Asia/Shanghai

# 应用时区
timedatectl set-timezone Asia/Shanghai

更新系统(每月至少 1 次)

bash
# CentOS
yum update -y --exclude=kernel*

# Ubuntu
apt-get update && apt-get upgrade -y`在这里插入代码片`

注意:排除内核更新防止重启,生产环境建议维护窗口执行

二、进程管理(故障排查核心)

技能描述
90% 的故障与进程相关,掌握快速定位异常进程的方法

操作步骤
1.实时监控(top 命令进阶)

bash
top -p $(pgrep -d, nginx)  # 只监控nginx进程
top -o %MEM              # 按内存排序

2.杀死顽固进程(含安全检查)

bash
# 步骤1:查看进程树
pstree -p 1234

# 步骤2:温柔终止(SIGTERM)
kill 1234

# 步骤3:强制终止(SIGKILL)
kill -9 1234

经验:优先使用killall -w nginx(等待进程优雅退出)

三、网络诊断(日均 5 次 +)

技能描述
从连通性到端口状态的全链路诊断

操作步骤
1.TCP 连通性测试(比 ping 更准确)

bash
nc -vz 192.168.1.100 80  # 测试80端口
# 或
telnet 192.168.1.100 3306

2.追踪路由跳数(定位网络瓶颈)

bash
traceroute -T -p 80 www.baidu.com  # TCP 80端口追踪
mtr --report www.aliyun.com        # 实时网络质量监控
查看端口占用(含进程信息)
bash
ss -tunlp | grep 80  # 比netstat更高效
# 输出示例
tcp   LISTEN 0      128       :::80        :::*    users:(("nginx",pid=123,fd=6))

四、磁盘扩容(生产环境高频操作)

技能描述
当df -h发现根分区不足时的标准处理流程

操作步骤(以 LVM 环境为例)
1.新增磁盘分区

bash
fdisk /dev/vdb <<EOF
n
p
1

w
EOF

2.扩展卷组

bash
pvcreate /dev/vdb1
vgextend centos /dev/vdb1  # 假设卷组名centos
扩展逻辑卷并调整文件系统
bash
lvextend -l +100%FREE /dev/centos/root
xfs_growfs /dev/centos/root  # XFS文件系统
# 若是ext4则用:resize2fs /dev/centos/root

验证:df -h看到根分区扩容

五、日志分析(故障排查生命线)

技能描述
从海量日志中快速定位问题的 3 个技巧

操作步骤
1.实时监控最新日志(带时间戳)

bash
tail -f /var/log/nginx/access.log | awk '{print strftime("[%Y-%m-%d %H:%M:%S]"), $0}'

2.按关键词统计(500 错误排查)

bash
grep ' 500 ' /var/log/nginx/error.log | awk '{print $4}' | sort | uniq -c

3.分析慢日志(MySQL 为例)

bash
pt-query-digest /var/log/mysql/mysql-slow.log | grep -A 5 'Summary'
六、防火墙配置(安全基线)

技能描述
生产环境端口开放的标准流程(以 firewalld 为例)

操作步骤
1.临时开放端口(测试用)

bash
firewall-cmd --add-port=8080/tcp --zone=public

2.永久开放端口(含服务重载)

bash
firewall-cmd --add-port=8080/tcp --zone=public --permanent
firewall-cmd --reload

3.查看开放端口(含服务名称)

bash
firewall-cmd --list-services  # 查看预定义服务
firewall-cmd --list-ports     # 查看自定义端口

七、自动化脚本(解放双手的核心)

技能描述
用 Shell/Python 实现每日备份的自动化

实战案例:MySQL 每日备份

bash
#!/bin/bash
# backup.sh
DATE=$(date +%Y%m%d)
BACKUP_DIR=/data/backup/mysql
[ ! -d $BACKUP_DIR ] && mkdir -p $BACKUP_DIR

mysqldump -uroot -p'password' --all-databases | gzip > $BACKUP_DIR/full-$DATE.sql.gz

# 保留7天备份
find $BACKUP_DIR -mtime +7 -name "*.gz" -delete

优化:结合 crontab 每日执行

bash
0 2 * * * /bin/bash /scripts/backup.sh

八、Docker 容器管理(云原生必备)

技能描述
容器化环境的日常操作规范

操作步骤
1.查看容器实时日志

bash
docker logs -f --tail 50 webapp  # 追踪最后50行
docker logs --since 1h webapp    # 查看最近1小时日志

2.进入容器排查

bash
docker exec -it webapp /bin/sh  # 交互式进入
docker exec webapp ls /app      # 非交互式执行命令

3.备份容器数据

bash
docker cp webapp:/app/data /tmp/backup  # 复制数据到宿主机

九、应急响应(生产故障处理)

技能描述
突发故障的标准处理流程

操作步骤(以 CPU 跑满为例)
1.定位进程

bash
top -bn1 | head -10  # 静态查看CPU占用
ps -eo pid,user,%cpu,%mem,command | sort -k3 -r | head

2.分析原因

bash
strace -p 1234  # 追踪系统调用
lsof -p 1234    # 查看文件句柄

3.临时止损

bash
renice +19 1234  # 降低进程优先级
kill -15 1234    # 尝试正常终止

十、文件恢复(误操作救星)

技能描述
误删文件的紧急恢复方案

操作步骤(ext4 文件系统)
1.卸载分区(重要!)

bash
umount /dev/vda1

2.使用 extundelete 恢复

bash
extundelete /dev/vda1 --restore-file /etc/passwd
ls RECOVERED_FILES/  # 恢复的文件在此目录

3.挂载恢复

bash
mount /dev/vda1 /mnt
cp RECOVERED_FILES/etc/passwd /mnt/etc/

技能矩阵与成长建议

在这里插入图片描述
运维箴言: 每周用watch -n 1 'vmstat 1 5; mpstat; free -h’监控系统,培养系统直觉。遇到故障先抓现场(日志 / 进程状态),再复现分析,最后优化预案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值