老鸟珍藏:Linux 一键维护脚本大全(清理垃圾/修改 DNS/查看温度)

老实说,在 2026 年的 VPS 圈子里,各大云厂商的营销话术依然满天飞。很多玩家手里都攥着几台趁打折抢来的“传家宝” 或者准备拿来建站的 1核1G 小机器。但这引发了一个致命问题:机器买回来容易,维护起来却让人头疼。

特别是那些磁盘 I/O 极差的“石头盘”,或者随时可能跑路的“灵车” 服务商,默认的系统镜像往往塞满了垃圾日志,甚至连基础的 DNS 都是坏的,导致你装个环境都要卡半天。

今天不废话,直接把 2026 年老司机们装机后必跑的 Linux 一键维护脚本底裤扒光。我会告诉你用什么脚本安全清理垃圾、怎么在现代系统中强制锁定 DNS,更会打破小白的一个常识盲区——VPS 到底能不能看温度?

🥇 核心维护脚本一览表(2026 深度优化版)

为了直观对比,我为你整理了目前日常维护中最常用的几个核心方向。请看下方的数据卡片:

🔥 必备 Linux 维护脚本合集
老司机必备
维护方向核心解决痛点适用系统执行风险推荐指数
深度清理垃圾释放被系统日志和废弃依赖吞噬的磁盘空间Debian/Ubuntu 与 CentOS⭐⭐⭐⭐⭐
强制修改 DNS解决 apt update 卡死、环境配置无法解析全系 Linux (智能适配 systemd)⭐⭐⭐⭐⭐
状态与温度监控揪出疯狂占用 CPU、导致宕机的“毒邻居”全系 Linux极低⭐⭐⭐⭐

🧠 硬核实战:三大核心维护场景与一键脚本

⚠️ 核心前提: 以下所有一键脚本,均涉及系统网络配置与包管理器清理,必须以 root 用户执行,或在命令前添加 sudo 获取管理员权限。

1. 深度清理垃圾:别让废弃日志吃掉你的传家宝

很多小白刚买了一台 10GB 硬盘的机器,跑了没几天建站环境,服务器就提示 No space left on device(磁盘空间不足)。这通常是因为系统默认的 journalctl 日志和包管理器缓存每天都在膨胀。

对于这种容易沦为“吃灰机”的小盘鸡,你需要下面这个一键清理组合拳。老鸟在此特意区分了 Debian 系和 RHEL 系,避免包管理器报错。

✅ Debian / Ubuntu 专用清理脚本:

Ubuntu 22.04 运行 VPS 一键清理垃圾脚本实测与磁盘空间释放效果
#!/bin/bash
echo "开始清理 Debian/Ubuntu 系统垃圾..."
if [ "$(id -u)" -ne 0 ]; then echo "错误:必须以root权限执行!"; exit 1; fi

# 清理系统日志,保留7天(兼顾排错和空间释放)
journalctl --vacuum-time=7d
# 清理无用依赖、包缓存
apt autoremove -y && apt clean -y && apt autoclean -y
# 仅清理7天未访问的用户缓存文件,防误删核心配置
find /root/.cache/ -type f -atime +7 -delete 2>/dev/null
find /home/*/.cache/ -type f -atime +7 -delete 2>/dev/null
echo "清理完成!稳如老狗。"

(注:执行 apt autoremove 前,若你曾手动编译安装过核心依赖库,请先扫一眼卸载列表,避免误删。)

✅ CentOS / RHEL / AlmaLinux 专用清理脚本:

#!/bin/bash
echo "开始清理 CentOS/RHEL 系统垃圾..."
if [ "$(id -u)" -ne 0 ]; then echo "错误:必须以root权限执行!"; exit 1; fi

journalctl --vacuum-time=7d
# 智能适配 yum/dnf 包管理器
if command -v dnf >/dev/null 2>&1; then
    dnf autoremove -y && dnf clean all
else
    yum autoremove -y && yum clean all
fi
find /root/.cache/ -type f -atime +7 -delete 2>/dev/null
find /home/*/.cache/ -type f -atime +7 -delete 2>/dev/null
echo "清理完成!"

2. 强制修改 DNS:根治“灵车”商家的网络断流

你一定遇到过这种灵异事件:机器 Ping 得通,但是使用 wget 下载脚本或执行 apt update 时,卡在 Resolving host... 一动不动。这是因为部分小众商家的宿主机默认 DNS 配置极其拉胯。

⚠️ 临时自救方案:如果你的 DNS 已经完全失效,连打开网页或 wget 拉取脚本都做不到,请先执行这行提权命令恢复基础解析,再执行下方完整脚本:

echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf > /dev/null

为什么不能直接使用 chattr +i 锁定?

在 2026 年的主流现代 Linux(如 Ubuntu 20.04+、Debian 11+)中,系统默认使用 systemd-resolved 服务接管 DNS。此时的 /etc/resolv.conf 只是一个指向 tmpfs 内存文件系统的软链接。如果你强行加锁,会直接报错并导致解析彻底瘫痪!你需要这套智能判定底层架构的终极脚本

✅ 智能锁定 DNS 脚本(全架构通杀):

#!/bin/bash
echo "正在强制修改并锁定 DNS..."
if [ "$(id -u)" -ne 0 ]; then echo "错误:必须以root权限执行!"; exit 1; fi

# 判定是否为现代 systemd 系统
if pidof systemd > /dev/null; then
    # 稳妥修改 systemd-resolved 核心配置(兼容已被取消注释的情况)
    sed -i 's/^#*DNS=.*/DNS=1.1.1.1 8.8.8.8/' /etc/systemd/resolved.conf
    sed -i 's/^#*DNSStubListener=.*/DNSStubListener=yes/' /etc/systemd/resolved.conf
    systemctl restart systemd-resolved
    # 强制软链接,避免被 DHCP 恶意篡改
    ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    echo "DNS 修改成功!systemd 系统永久生效,无需底层锁文件。"
else
    # 适配 Alpine 或老旧非 systemd 系统
    chattr -i /etc/resolv.conf 2>/dev/null
    cat > /etc/resolv.conf <

3. 查看温度与硬件状态:打破常识误区!

这是全网最大的一个知识盲区。很多新手指着网上的旧教程,非要在自己的便宜小鸡上安装 lm-sensors 去查看 CPU 温度。

老鸟告诉你一个残酷的真相:99% 的普通 VPS 实例是看不到真实 CPU 温度的!

因为你买的是虚拟机(基于 KVM / OpenVZ / LXC),硬件底层的传感器数据默认被物理宿主机彻底隔离了。只有当你购买的是独立物理服务器(Bare Metal),或极少数做了传感器硬件穿透的定制化 KVM,才能通过 sensors 命令读取到真实温度。

如果你的 VPS 动不动就卡死宕机,别怀疑温度,99% 的概率是因为机器存在严重“超售”,或者同节点有一个疯狂挖矿的“毒邻居”。

✅ 替代方案:一键查看真实的“被剥削”状态(CPU Steal):

不要看温度,我们要看 Steal Time(被宿主机或邻居偷走的 CPU 时间)。直接运行:

top

在顶部数据中找到 %Cpu(s) 这一行,重点观察 st (Steal Time) 的数值。

注意:此参数仅适用于 KVM/Xen 等全虚拟化架构,OpenVZ/LXC 容器由于内核共享,看不到真实的 st 值。

你需要持续观察 top 界面 5-10 分钟。如果 st 平均值长期高于 5%,说明存在超售嫌疑;如果长期高于 10%,属于严重超售!此时最好的维护手段不是跑脚本,而是赶紧打包数据、准备“下车”退款。

若你想快速揪出到底是哪个进程在榨干你的资源,附赠一个极简排障脚本:

# 一键查看 CPU 占用 TOP 10 的进程
ps aux --sort=-%cpu | head -11

🛒 避坑与日常操作总结

不管你买的是高端的优化线路机,还是最便宜的玩具小鸡,日常维护的逻辑万变不离其宗:保持磁盘纯净、确保网络解析顺畅、实时监控异常负载

💡 vps1111 避坑指南:

  • 慎用未知的一键脚本:在互联网上看到 curl -sSL http://xxx | bash 这种直接执行的脚本,一定要先在浏览器里打开网址看看源码!小心被挂马或植入后门挖矿程序。
  • 日志别乱删:如果你是中重度建站用户,系统崩溃时 journalctl 往往是你唯一的救命稻草。建议像本文示例一样,至少保留 7 天日志,切勿清零。
  • 温度监控误区:别再试图给虚拟小鸡装测温软件了。用开源监控探针(如哪吒监控)看 Load AverageSteal Time 值,才是老司机的正解。

总结: 别被各种花里胡哨的技术名词忽悠了,掌握上面这三个经过深度优化的核心脚本,你的 VPS 就能稳如磐石。把瞎折腾底层系统的时间省下来,去优化你的独立站或实际业务,这才是玩服务器的终极意义!

❓ FAQ:Linux VPS 维护与排障高频问答

Q1:为什么我在 VPS 上运行 sensors 命令,提示找不到任何传感器?

A1:因为你使用的是虚拟化实例(如 KVM 或 LXC)。底层物理硬件(包括主板和 CPU 温度传感器)被宿主机的安全机制完全隔离了。这是正常现象,无需排障。如果要评估服务器负载,请直接通过 top 命令查看 Load Average(系统平均负载)和 st(Steal Time)。

Q2:执行了垃圾清理脚本后,我的网站环境(如 Nginx/MySQL)会受到影响吗?

A2:本文提供的清理脚本是高度安全的。apt autoremove 仅卸载不再被依赖的孤立包,而 journalctl --vacuum-time=7d 仅清理 7 天前的过期系统日志。它们绝不会触碰任何正在运行的服务配置、数据库文件或 Web 目录数据,建站用户可放心执行。

Q3:我强制修改了 /etc/resolv.conf,为什么重启服务器后 DNS 又变回去了?

A3:在现代 Linux 中(如 Ubuntu 20.04+),网络由 systemd-resolved 服务动态接管,每次重启都会重写 resolv.conf 文件。单纯修改这个文件是无效的。请使用本文提供的“智能锁定 DNS 脚本”,通过修改底层的 /etc/systemd/resolved.conf 来实现永久固化解析。

正文完
 0
评论(没有评论)