当前位置:首页>Linux>阿里P7运维工程师私藏的Linux实战笔记(建议收藏)

阿里P7运维工程师私藏的Linux实战笔记(建议收藏)

  • 2026-02-01 14:23:32
阿里P7运维工程师私藏的Linux实战笔记(建议收藏)

关注「Raymond运维」公众号,并设为「星标」,也可以扫描底部二维码加入群聊,第一时间获取最新内容,不再错过精彩内容。

Linux基础入门:从命令行到系统管理的实用指南

引言:为什么每个运维工程师都应该精通Linux?

还记得我第一次面对Linux黑乎乎的终端时,心里只有一个想法:"这玩意儿能干啥?"。5年后的今天,作为一名运维工程师,我几乎每天都在和Linux打交道。从管理数千台服务器到优化系统性能,Linux已经成为我最得力的伙伴。

如果你正在考虑进入运维领域,或者想提升自己的技术能力,这篇文章将带你系统地了解Linux——从最基础的命令行操作到实际的系统管理技巧。更重要的是,我会分享那些教科书上不会告诉你的实战经验。

第一章:Linux命令行基础 - 你的第一步

1.1 必须掌握的20个基础命令

让我们从最实用的命令开始。这些命令我每天至少要用50次:

# 文件和目录操作
ls -la              # 查看详细文件列表(包括隐藏文件)
cd /path/to/dir     # 切换目录
pwd# 显示当前目录
mkdir -p dir1/dir2  # 递归创建目录
rm -rf directory    # 递归删除(谨慎使用!)
cp -r source dest   # 递归复制
mv oldname newname  # 移动或重命名

# 文件内容查看
cat file.txt        # 查看文件内容
less file.txt       # 分页查看(大文件必备)
head -n 20 file     # 查看前20行
tail -f logfile     # 实时查看日志(运维神器)
grep "error" file   # 搜索关键字

实战技巧:组合使用这些命令能发挥更大威力。比如查找最近修改的配置文件:

find /etc -type f -name "*.conf" -mtime -7 | xargs ls -lt

1.2 管道和重定向 - 命令的魔法连接

Linux的强大之处在于命令的组合。掌握管道(|)和重定向(>、>>、<)就像掌握了魔法:

# 统计nginx日志中404错误的数量
cat access.log | grep "404" | wc -l

# 查找占用CPU最高的前10个进程
ps aux | sort -k3 -rn | head -10

# 实时监控特定关键字的日志
tail -f /var/log/app.log | grep --line-buffered "ERROR"

# 将错误输出重定向到文件
command 2> error.log

# 同时重定向标准输出和错误输出
command &> all_output.log

1.3 文本处理三剑客:grep、sed、awk

这三个工具是Linux文本处理的核心,掌握它们能让你的工作效率提升10倍:

# grep - 搜索大师
grep -E "error|warning" /var/log/syslog  # 正则表达式搜索
grep -v "debug" file.log                  # 反向匹配
grep -r "config" /etc/                    # 递归搜索

# sed - 流编辑器
sed -i 's/old/new/g' file.txt            # 全局替换
sed -n '10,20p' file.txt                 # 打印10-20行
sed '/^#/d' config.file                  # 删除注释行

# awk - 数据处理专家
awk '{print $1,$3}' file.txt             # 打印第1和第3列
awk -F: '{print $1}' /etc/passwd         # 指定分隔符
awk '$3>1000 {print $0}' data.txt        # 条件过滤

实战案例:分析Web日志,找出访问量最大的10个IP:

awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10

第二章:进程管理 - 掌控系统的脉搏

2.1 进程监控与管理

作为运维工程师,你需要知道系统上正在发生什么:

# 查看进程
ps aux                          # 查看所有进程
ps -ef | grep nginx            # 查找特定进程
pstree                         # 树形显示进程关系

# 实时监控
top                            # 经典监控工具
htop                           # 更友好的界面(需要安装)
iotop                          # IO监控
iftop                          # 网络流量监控

# 进程控制
kill -9 PID                    # 强制终止进程
killall process_name           # 按名称终止进程
nice -n 10 command# 以低优先级运行
renice -n 5 -p PID            # 调整运行中进程优先级

2.2 后台任务管理

运维工作中经常需要运行长时间任务:

# 后台运行
command &                      # 后台运行
nohupcommand &               # 断开终端后继续运行
screen -S session_name        # 创建会话(推荐)
tmux new -s myproject         # tmux会话(更强大)

# 任务控制
jobs# 查看后台任务
fg %1                         # 将任务调到前台
bg %1                         # 将任务放到后台
disown %1                     # 将任务与终端分离

专业建议:对于生产环境的长时间任务,始终使用screen或tmux,这样即使网络断开也不会影响任务执行。

第三章:系统性能分析 - 找出瓶颈的艺术

3.1 CPU性能分析

# CPU使用率监控
vmstat 1                      # 每秒更新一次
mpstat -P ALL 1              # 多核CPU监控
sar -u 1 10                  # 收集10秒CPU数据

# 进程CPU分析
pidstat -u 1 -p PID          # 特定进程CPU使用
perf top                     # 实时性能分析

3.2 内存管理与优化

# 内存使用情况
free -h                      # 人类可读格式
cat /proc/meminfo           # 详细内存信息
vmstat -s                   # 内存统计

# 内存问题排查
slabtop                     # 内核内存使用
ps aux --sort=-%mem | head# 内存使用最多的进程

# 清理缓存(慎用)
sync && echo 3 > /proc/sys/vm/drop_caches

3.3 磁盘I/O优化

# 磁盘使用情况
df -h                       # 文件系统使用情况
du -sh *                    # 目录大小
lsblk                       # 块设备列表

# I/O性能分析
iostat -x 1                 # 详细I/O统计
iotop -o                    # 只显示有I/O的进程
dstat -d                    # 磁盘统计

# 查找大文件
find / -type f -size +1G 2>/dev/null

实战经验:当系统变慢时,我的排查顺序是:

  1. 1. 先用top看CPU和内存
  2. 2. 用iostat检查磁盘I/O
  3. 3. 用netstatss检查网络连接
  4. 4. 最后查看系统日志

第四章:网络管理 - 连接世界的桥梁

4.1 网络配置与诊断

# 网络配置
ip addr show                # 查看IP地址
ip route show              # 查看路由表
nmcli device status        # NetworkManager状态

# 网络诊断
ping -c 4 google.com       # 测试连通性
traceroute google.com      # 路由追踪
mtr google.com            # 结合ping和traceroute
dig google.com            # DNS查询
nslookup google.com       # DNS查询(经典)

# 端口和连接
netstat -tuln             # 监听端口
ss -tuln                  # 更快的netstat替代
lsof -i :80              # 查看使用80端口的进程
telnet host port         # 测试端口连通性
nc -zv host port         # netcat端口扫描

4.2 防火墙管理

# iptables(传统)
iptables -L -n -v         # 查看规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许80端口

# firewalld(现代)
firewall-cmd --state      # 查看状态
firewall-cmd --list-all   # 查看所有规则
firewall-cmd --permanent --add-port=80/tcp  # 永久开放端口
firewall-cmd --reload     # 重载配置

第五章:服务管理 - 让系统按你的意愿运行

5.1 Systemd服务管理

现代Linux发行版都使用systemd管理服务:

# 服务控制
systemctl start nginx      # 启动服务
systemctl stop nginx       # 停止服务
systemctl restart nginx    # 重启服务
systemctl reload nginx     # 重载配置
systemctl status nginx     # 查看状态

# 开机自启
systemctl enable nginx     # 设置开机自启
systemctl disable nginx    # 取消开机自启
systemctl is-enabled nginx # 查看是否自启

# 服务日志
journalctl -u nginx        # 查看服务日志
journalctl -f -u nginx     # 实时查看日志
journalctl --since "2024-01-01" -u nginx  # 时间范围

5.2 创建自定义服务

创建自己的systemd服务文件:

# /etc/systemd/system/myapp.service
[Unit]
Description=My Application
After=network.target

[Service]
Type=simple
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/start.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

第六章:日志管理 - 系统的黑匣子

6.1 日志查看与分析

# 系统日志位置
/var/log/syslog           # 系统日志(Debian/Ubuntu)
/var/log/messages         # 系统日志(RHEL/CentOS)
/var/log/auth.log         # 认证日志
/var/log/kern.log         # 内核日志

# 日志分析技巧
# 查找错误
grep -i error /var/log/syslog | tail -20

# 统计日志级别
awk '{print $5}' /var/log/syslog | sort | uniq -c | sort -rn

# 时间范围过滤
sed -n '/2024-01-01 10:00/,/2024-01-01 11:00/p' logfile

6.2 日志轮转配置

配置logrotate管理日志大小:

# /etc/logrotate.d/myapp
/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0644 root root
    postrotate
        systemctl reload myapp
    endscript
}

第七章:用户和权限管理 - 安全的基石

7.1 用户管理

# 用户操作
useradd -m -s /bin/bash username   # 创建用户
passwd username                     # 设置密码
usermod -aG sudo username          # 添加到sudo组
userdel -r username                # 删除用户及主目录

# 查看用户信息
id username                        # 用户ID和组
who# 当前登录用户
last                              # 登录历史

7.2 权限管理精髓

# 文件权限
chmod 755 file                    # rwxr-xr-x
chmod u+x file                    # 给用户添加执行权限
chown user:group file             # 改变所有者

# 特殊权限
chmod u+s file                    # SUID
chmod g+s directory               # SGID
chmod +t directory                # Sticky bit

# ACL(访问控制列表)
setfacl -m u:username:rwx file    # 设置ACL
getfacl file                      # 查看ACL

安全提示:永远不要给文件777权限,这是安全隐患的源头!

第八章:Shell脚本编程 - 自动化的魔法

8.1 基础脚本结构

#!/bin/bash
# 脚本描述:系统健康检查脚本

set -e  # 遇到错误立即退出
set -u  # 使用未定义变量时报错

# 变量定义
LOG_FILE="/var/log/health_check.log"
THRESHOLD=80

# 函数定义
check_disk_usage() {
local usage=$(df -h / | awk 'NR==2 {print $(NF-1)}' | sed 's/%//')
if [ "$usage" -gt "$THRESHOLD" ]; then
echo"警告:磁盘使用率超过${THRESHOLD}%"
return 1
fi
return 0
}

# 主逻辑
main() {
echo"开始系统检查 - $(date)" >> "$LOG_FILE"

if check_disk_usage; then
echo"磁盘检查通过" >> "$LOG_FILE"
else
echo"磁盘空间不足!" >> "$LOG_FILE"
# 发送告警邮件
        mail -s "磁盘空间告警" admin@example.com < "$LOG_FILE"
fi
}

# 执行主函数
main "$@"

8.2 实用脚本示例

批量服务器巡检脚本

#!/bin/bash
# 批量巡检脚本

SERVERS="server1 server2 server3"
CHECKS="disk memory cpu"

for server in$SERVERSdo
echo"检查服务器: $server"

# SSH执行远程命令
    ssh "$server" << 'EOF'
echo"=== 磁盘使用 ==="
df -h
echo"=== 内存使用 ==="
        free -h
echo"=== CPU负载 ==="
uptime
echo"=== 关键服务 ==="
        systemctl status nginx postgresql redis
EOF

echo"------------------------"
done

第九章:备份与恢复 - 数据安全的最后防线

9.1 备份策略

# rsync增量备份
rsync -avz --delete /source/ /backup/
rsync -avz -e ssh /local/ user@remote:/backup/

# tar备份
tar -czf backup-$(date +%Y%m%d).tar.gz /important/data/
tar -czf - /data | ssh user@backup-server "cat > backup.tar.gz"

# 数据库备份
mysqldump -u root -p database > backup.sql
pg_dump database > backup.sql

9.2 自动化备份脚本

#!/bin/bash
# 自动备份脚本

BACKUP_DIR="/backup"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
RETENTION_DAYS=7

# 创建备份
backup_create() {
    tar -czf "${BACKUP_DIR}/backup_${DATE}.tar.gz""$SOURCE_DIR"
if [ $? -eq 0 ]; then
echo"备份成功: backup_${DATE}.tar.gz"
else
echo"备份失败!" >&2
exit 1
fi
}

# 清理旧备份
backup_cleanup() {
    find "$BACKUP_DIR" -name "backup_*.tar.gz" -mtime +$RETENTION_DAYS -delete
echo"已清理${RETENTION_DAYS}天前的备份"
}

# 执行备份
backup_create
backup_cleanup

第十章:容器化部署 - 现代运维必备

10.1 Docker基础操作

# 镜像管理
docker images                      # 查看镜像
docker pull nginx:latest           # 拉取镜像
docker build -t myapp:v1 .        # 构建镜像

# 容器操作
docker run -d -p 80:80 nginx      # 运行容器
docker ps                         # 查看运行容器
docker logs container_id          # 查看日志
docker exec -it container_id bash # 进入容器

# 清理
docker system prune -a            # 清理未使用资源

10.2 Docker Compose编排

# docker-compose.yml
version:'3.8'
services:
web:
image:nginx:alpine
ports:
-"80:80"
volumes:
-./html:/usr/share/nginx/html
depends_on:
-app

app:
build:.
environment:
-DATABASE_URL=postgresql://db:5432/myapp
depends_on:
-db

db:
image:postgres:13
environment:
-POSTGRES_PASSWORD=secret
volumes:
-db_data:/var/lib/postgresql/data

volumes:
db_data:

第十一章:监控与告警 - 防患于未然

11.1 系统监控脚本

#!/bin/bash
# 综合监控脚本

# 配置
CPU_THRESHOLD=80
MEM_THRESHOLD=90
DISK_THRESHOLD=85
ALERT_EMAIL="ops@company.com"

# CPU检查
check_cpu() {
local cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
if (( $(echo "$cpu_usage > $CPU_THRESHOLD" | bc -l) )); then
echo"CPU使用率告警: ${cpu_usage}%"
return 1
fi
}

# 内存检查
check_memory() {
local mem_usage=$(free | grep Mem | awk '{print ($3-$6)/$2 * 100.0}')
if (( $(echo "$mem_usage > $MEM_THRESHOLD" | bc -l) )); then
echo"内存使用率告警: ${mem_usage}%"
return 1
fi
}

# 磁盘检查
check_disk() {
whileread -r line; do
local usage=$(echo"$line" | awk '{print $5}' | sed 's/%//')
local mount=$(echo"$line" | awk '{print $6}')
if [ "$usage" -gt "$DISK_THRESHOLD" ]; then
echo"磁盘使用率告警: ${mount} 使用了 ${usage}%"
return 1
fi
done < <(df -h | tail -n +2)
}

# 主监控循环
main() {
local alert_message=""

if ! check_cpu; then
        alert_message="${alert_message}\n$(check_cpu)"
fi

if ! check_memory; then
        alert_message="${alert_message}\n$(check_memory)"
fi

if ! check_disk; then
        alert_message="${alert_message}\n$(check_disk)"
fi

if [ -n "$alert_message" ]; then
echo -e "$alert_message" | mail -s "系统告警 - $(hostname)""$ALERT_EMAIL"
fi
}

# 每5分钟执行一次(配合cron)
main

11.2 日志监控与告警

#!/bin/bash
# 错误日志监控

LOG_FILE="/var/log/application.log"
PATTERN="ERROR|CRITICAL|FATAL"
CHECK_INTERVAL=300  # 5分钟
LAST_CHECK_FILE="/tmp/last_log_check"

# 获取上次检查位置
if [ -f "$LAST_CHECK_FILE" ]; then
    LAST_SIZE=$(cat"$LAST_CHECK_FILE")
else
    LAST_SIZE=0
fi

CURRENT_SIZE=$(stat -c%s "$LOG_FILE")

# 只检查新增内容
if [ "$CURRENT_SIZE" -gt "$LAST_SIZE" ]; then
tail -c +$((LAST_SIZE + 1)) "$LOG_FILE" | grep -E "$PATTERN" | whileread -r line; do
echo"发现错误日志: $line"
# 这里可以发送告警
done
fi

# 更新检查位置
echo"$CURRENT_SIZE" > "$LAST_CHECK_FILE"

第十二章:性能优化实战 - 让系统飞起来

12.1 内核参数优化

# /etc/sysctl.conf 优化配置
# 网络优化
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_tw_reuse = 1

# 内存优化
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5

# 文件系统优化
fs.file-max = 2097152
fs.nr_open = 1048576

# 应用配置
sysctl -p  # 立即生效

12.2 服务优化示例

Nginx优化配置

# /etc/nginx/nginx.conf
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile65535;

events {
worker_connections65535;
useepoll;
multi_accepton;
}

http {
sendfileon;
tcp_nopushon;
tcp_nodelayon;
keepalive_timeout65;
keepalive_requests100;

# 压缩
gzipon;
gzip_varyon;
gzip_proxied any;
gzip_comp_level6;
gzip_types text/plain text/css text/xml application/json application/javascript;

# 缓存
open_file_cache max=2000 inactive=20s;
open_file_cache_valid30s;
open_file_cache_min_uses2;
}

第十三章:故障排查技巧 - 成为问题终结者

13.1 系统hang住排查流程

# 1. 检查系统负载
uptime
top -b -n 1

# 2. 检查内存
free -h
vmstat 1 5

# 3. 检查I/O
iostat -x 1 5
iotop -b -n 1

# 4. 检查网络
ss -s
netstat -i

# 5. 检查日志
dmesg | tail -50
journalctl -xe

# 6. 查看进程状态
ps aux | grep " D "# 查找D状态进程

13.2 应用故障排查

# Java应用排查
jstack <pid>           # 线程栈
jmap -heap <pid>       # 堆内存
jstat -gcutil <pid> 1000  # GC状态

# 数据库连接问题
netstat -an | grep 3306 | wc -l  # MySQL连接数
mysql -e "show processlist"# 查看连接

# Web服务排查
curl -I http://localhost          # 测试响应
ab -n 1000 -c 10 http://localhost/  # 压力测试

第十四章:安全加固 - 构建铜墙铁壁

14.1 基础安全配置

# SSH安全配置
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Port 22022  # 修改默认端口

# 限制su命令
# 只允许wheel组用户su
echo"auth required pam_wheel.so use_uid" >> /etc/pam.d/su

# 设置密码策略
# /etc/security/pwquality.conf
minlen = 12
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1

14.2 入侵检测

# 安装aide
apt-get install aide
aide --init
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
aide --check  # 定期检查

# 检查可疑进程
ps aux | grep -v "^\[" | awk '{print $11}' | xargs -I {} ls -la {} 2>/dev/null | grep -v "^/"

# 检查网络连接
netstat -tulpn | grep LISTEN
lsof -i -P -n | grep LISTEN

第十五章:自动化运维工具 - 解放双手

15.1 Ansible快速入门

# inventory文件
[webservers]
web1ansible_host=192.168.1.10
web2ansible_host=192.168.1.11

[dbservers]
db1ansible_host=192.168.1.20

# playbook.yml
---
-name:部署Web应用
hosts:webservers
become:yes
tasks:
-name:安装Nginx
apt:
name:nginx
state:present

-name:复制配置文件
template:
src:nginx.conf.j2
dest:/etc/nginx/nginx.conf
notify:restartnginx

-name:确保服务运行
service:
name:nginx
state:started
enabled:yes

handlers:
-name:restartnginx
service:
name:nginx
state:restarted

15.2 CI/CD Pipeline示例

# .gitlab-ci.yml
stages:
-test
-build
-deploy

test:
stage:test
script:
-npmtest
-npmrunlint

build:
stage:build
script:
-dockerbuild-tmyapp:$CI_COMMIT_SHA.
-dockerpushmyapp:$CI_COMMIT_SHA

deploy:
stage:deploy
script:
-sshdeploy@server"docker pull myapp:$CI_COMMIT_SHA"
-sshdeploy@server"docker stop myapp || true"
-sshdeploy@server"docker run -d --name myapp -p 80:80 myapp:$CI_COMMIT_SHA"
only:
-main

实战案例:从零搭建高可用Web服务

让我们用一个完整的案例来串联所有知识点:

场景描述

公司需要部署一个高可用的Web应用,要求:

  • • 负载均衡
  • • 自动故障转移
  • • 监控告警
  • • 自动备份

实施步骤

1. 环境准备

# 准备3台服务器
# lb1: 192.168.1.10 (负载均衡器)
# web1: 192.168.1.11 (Web服务器1)
# web2: 192.168.1.12 (Web服务器2)

2. 配置负载均衡器

# Nginx负载均衡配置
upstream backend {
    least_conn;
server192.168.1.11:80 max_fails=3 fail_timeout=30s;
server192.168.1.12:80 max_fails=3 fail_timeout=30s;
}

server {
listen80;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
    }
}

3. 健康检查脚本

#!/bin/bash
# health_check.sh
SERVERS="192.168.1.11 192.168.1.12"
for server in$SERVERSdo
if ! curl -f -s -o /dev/null "http://${server}/health"then
echo"Server $server is down!"
# 发送告警
echo"Web服务器 $server 无响应" | mail -s "服务告警" ops@company.com
fi
done

4. 自动化部署脚本

#!/bin/bash
# deploy.sh
deploy_server() {
```bash
local server=$1
echo"部署到服务器: $server"

# 备份当前版本
    ssh $server"cp -r /var/www/app /var/www/app.backup.$(date +%Y%m%d)"

# 传输新版本
    rsync -avz --delete ./dist/ $server:/var/www/app/

# 重启服务
    ssh $server"systemctl reload nginx"

# 验证部署
if curl -f -s -o /dev/null "http://${server}/health"then
echo"服务器 $server 部署成功"
else
echo"服务器 $server 部署失败,回滚中..."
        ssh $server"rm -rf /var/www/app && mv /var/www/app.backup.* /var/www/app"
        ssh $server"systemctl reload nginx"
return 1
fi
}

# 滚动部署
for server in 192.168.1.11 192.168.1.12; do
    deploy_server $server
sleep 10  # 等待服务稳定
done

5. 监控和告警系统

#!/bin/bash
# monitor.sh - 综合监控脚本

# 配置
WEBHOOK_URL="https://hooks.slack.com/services/xxx"
LOG_FILE="/var/log/monitor.log"

# 发送告警函数
send_alert() {
local message=$1
local severity=$2

# 记录日志
echo"[$(date '+%Y-%m-%d %H:%M:%S')] [$severity$message" >> $LOG_FILE

# 发送到Slack
    curl -X POST $WEBHOOK_URL \
        -H 'Content-Type: application/json' \
        -d "{\"text\":\"🚨 [$severity$message\"}"
}

# 检查Web服务
check_web_service() {
local response_time=$(curl -o /dev/null -s -w '%{time_total}' http://localhost)
if (( $(echo "$response_time > 2" | bc -l) )); then
        send_alert "Web响应时间过长: ${response_time}秒""WARNING"
fi
}

# 检查磁盘空间
check_disk_space() {
local usage=$(df -h / | awk 'NR==2 {print $(NF-1)}' | sed 's/%//')
if [ "$usage" -gt 80 ]; then
        send_alert "磁盘使用率告警: ${usage}%""CRITICAL"
fi
}

# 检查数据库连接
check_database() {
if ! mysql -h localhost -u monitor -ppassword -e "SELECT 1" &>/dev/null; then
        send_alert "数据库连接失败""CRITICAL"
fi
}

# 主监控循环
whiletruedo
    check_web_service
    check_disk_space
    check_database
sleep 60
done

6. 自动备份策略

#!/bin/bash
# backup.sh - 增量备份脚本

BACKUP_ROOT="/backup"
TODAY=$(date +%Y%m%d)
YESTERDAY=$(date -d "yesterday" +%Y%m%d)

# 数据库备份
backup_database() {
echo"开始数据库备份..."
    mysqldump --all-databases --single-transaction \
        --quick --lock-tables=false > $BACKUP_ROOT/db/mysql_$TODAY.sql

# 压缩
    gzip $BACKUP_ROOT/db/mysql_$TODAY.sql

# 保留7天
    find $BACKUP_ROOT/db -name "mysql_*.sql.gz" -mtime +7 -delete
}

# 文件增量备份
backup_files() {
echo"开始文件备份..."
    rsync -avz --backup \
        --backup-dir=$BACKUP_ROOT/incremental/$TODAY \
        --exclude='*.log' \
        --exclude='cache/*' \
        /var/www/ $BACKUP_ROOT/current/
}

# 远程备份
sync_to_remote() {
echo"同步到远程备份服务器..."
    rsync -avz $BACKUP_ROOT/ backup@remote-server:/backup/
}

# 执行备份
backup_database
backup_files
sync_to_remote

echo"备份完成: $(date)"

进阶技巧:提升效率的20个小窍门

1. 命令行效率提升

# 设置有用的别名 (~/.bashrc)
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias grep='grep --color=auto'
aliasdf='df -h'
alias free='free -h'
alias psg='ps aux | grep -v grep | grep -i'
alias listening='netstat -tlnp'

# 历史命令技巧
!$              # 上个命令的最后一个参数
!!              # 执行上一条命令
!vim            # 执行最近的vim命令
ctrl+r          # 搜索历史命令

2. 快速文件操作

# 批量重命名
for f in *.txt; domv"$f""${f%.txt}.bak"done

# 快速创建多个目录
mkdir -p project/{src,bin,doc,test}/{main,backup}

# 查找并替换
find . -type f -name "*.conf" -exec sed -i 's/old/new/g' {} +

# 查找大文件
du -ah / 2>/dev/null | sort -rh | head -20

3. SSH技巧

# SSH配置文件 (~/.ssh/config)
Host prod
    HostName 192.168.1.100
    User admin
    Port 22
    IdentityFile ~/.ssh/prod_key

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

# SSH隧道
ssh -L 8080:localhost:80 user@remote  # 本地端口转发
ssh -R 8080:localhost:80 user@remote  # 远程端口转发
ssh -D 1080 user@remote               # SOCKS代理

4. 实时日志分析

# 实时统计访问最多的IP
tail -f access.log | awk '{print $1}' | logtop

# 实时错误监控
tail -f error.log | grep --line-buffered ERROR | whileread line; do
echo"$line"
    notify-send "错误告警""$line"# 桌面通知
done

# 多日志文件监控
multitail /var/log/nginx/access.log /var/log/nginx/error.log

故障处理实战记录

案例1:内存泄漏排查

症状:服务器内存持续增长,最终OOM

排查过程

# 1. 查看内存使用TOP进程
ps aux --sort=-%mem | head

# 2. 查看进程内存映射
pmap -x <pid>

# 3. 使用valgrind检测(开发环境)
valgrind --leak-check=full --show-leak-kinds=all ./app

# 4. 生产环境内存分析
gdb -p <pid>
(gdb) generate-core-file
(gdb) detach

# 分析core文件
gdb ./app core.<pid>

解决方案:发现是缓存没有设置过期时间,添加LRU策略解决。

案例2:磁盘I/O瓶颈

症状:应用响应慢,CPU使用率不高

排查过程

# 1. 确认I/O问题
iostat -x 1
# 发现await时间很高

# 2. 找出I/O密集进程
iotop -o

# 3. 分析具体文件操作
strace -p <pid> -e trace=file

# 4. 检查文件系统
tune2fs -l /dev/sda1

解决方案

  • • 调整文件系统参数:mount -o noatime,nodiratime
  • • 将日志写入改为异步
  • • 增加应用缓存层

案例3:网络延迟问题

症状:跨机房访问延迟高

排查过程

# 1. 测试网络延迟
ping -c 100 remote_host | tail -1

# 2. 路由追踪
mtr --report --report-cycles 100 remote_host

# 3. 带宽测试
iperf3 -c remote_host

# 4. TCP优化
echo'net.ipv4.tcp_congestion_control = bbr' >> /etc/sysctl.conf
sysctl -p

职业发展建议

技能进阶路线

  1. 1. 初级运维(0-2年)
    • • 掌握Linux基础命令
    • • 熟悉常见服务配置
    • • 能够处理日常运维工作
  2. 2. 中级运维(2-5年)
    • • 精通Shell脚本编程
    • • 掌握自动化工具(Ansible/Puppet)
    • • 了解容器技术(Docker/K8s)
    • • 具备故障排查能力
  3. 3. 高级运维(5年+)
    • • 架构设计能力
    • • 深入理解系统原理
    • • 具备编程能力(Python/Go)
    • • 了解云原生技术栈

认证推荐

  • • RHCE(Red Hat认证工程师)
  • • CKA(Kubernetes认证管理员)
  • • AWS/阿里云认证

持续学习资源

  • • 技术博客:关注业界大牛的博客
  • • 开源项目:参与开源项目贡献
  • • 技术社区:Stack Overflow、V2EX
  • • 在线课程:Coursera、Udemy

结语

Linux运维是一个需要不断学习和实践的领域。从基础命令到复杂的系统架构,每一步都需要扎实的基础和丰富的经验。希望这篇指南能够帮助你在Linux运维的道路上走得更远。

记住,优秀的运维工程师不仅要会使用工具,更要理解背后的原理。遇到问题时,不要急于寻找答案,先尝试自己分析和解决,这样才能真正提升自己的能力。

最后的建议

  1. 1. 建立自己的知识库,记录遇到的问题和解决方案
  2. 2. 搭建测试环境,多做实验
  3. 3. 关注新技术,但不要盲目追新
  4. 4. 培养良好的文档习惯
  5. 5. 永远保持对技术的热情和好奇心

WeChat group

为了方便大家更好的交流运维等相关技术问题,创建了微信交流群,需要加群的小伙伴们可以扫一扫下面的二维码加我为好友拉您进群(备注:加群)。

代码仓库网址
Githubhttps://github.com/raymond999999
Giteehttps://gitee.com/raymond9

Blog

博客网址
CSDN
https://blog.csdn.net/qq_25599925
稀土掘金https://juejin.cn/user/4262187909781751
知识星球https://wx.zsxq.com/group/15555885545422
阿里云社区https://developer.aliyun.com/profile/snzh3xpxaf6sg
腾讯云社区https://cloud.tencent.com/developer/user/11823619
华为云社区https://developer.huaweicloud.com/usercenter/mycommunity/dynamics

访问博客网站,查看更多优质原创内容。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 16:41:15 HTTP/2.0 GET : https://f.mffb.com.cn/a/463407.html
  2. 运行时间 : 0.090572s [ 吞吐率:11.04req/s ] 内存消耗:4,796.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c143f103a59dd7fc8a251d397743db45
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000563s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000676s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000268s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000257s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000471s ]
  6. SELECT * FROM `set` [ RunTime:0.000198s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000507s ]
  8. SELECT * FROM `article` WHERE `id` = 463407 LIMIT 1 [ RunTime:0.000529s ]
  9. UPDATE `article` SET `lasttime` = 1770540075 WHERE `id` = 463407 [ RunTime:0.009783s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000210s ]
  11. SELECT * FROM `article` WHERE `id` < 463407 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000394s ]
  12. SELECT * FROM `article` WHERE `id` > 463407 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000373s ]
  13. SELECT * FROM `article` WHERE `id` < 463407 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001408s ]
  14. SELECT * FROM `article` WHERE `id` < 463407 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.009003s ]
  15. SELECT * FROM `article` WHERE `id` < 463407 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000868s ]
0.092197s