维护不需要很复杂,重要的是定期做、有记录。下面这份清单是我自己每月执行一次的版本,单台机器大约十分钟。
磁盘与 inode
先看容量,再看 inode。很多「磁盘没满却写不进去」的问题都出在 inode 上:
df -h
df -i
du -xh --max-depth=1 / 2>/dev/null | sort -h | tail
重点检查 /var/log、/var/lib/docker 和各个服务的日志目录。
日志轮转
Debian 默认已经装了 logrotate,确认配置是否覆盖到自定义服务:
logrotate -d /etc/logrotate.conf
journalctl --disk-usage
journalctl --vacuum-time=14d
systemd 服务的日志记得在 journald.conf 里设置上限,否则会悄悄吃掉几个 G。
安全更新
apt update
apt list --upgradable
apt upgrade -y
内核更新后需要重启才会生效。我会先确认 uname -r 和已安装内核的差异,再挑一个低峰时段重启。
服务与端口
systemctl --failed
ss -tulpn
systemctl list-timers --all
对照一份「应该开放的端口」清单,发现多出来的监听项就查一下来源。很多被入侵的机器,最初都是一个不该存在的监听端口。
证书与定时任务
crontab -l
ls /etc/cron.d/
openssl x509 -enddate -noout -in /etc/nginx/ssl/example.crt
证书到期前 30 天应该已经自动续期。如果没有,先查续期任务的日志,而不是手动重签。
备份验证
备份最重要的是能恢复。每月至少做一次恢复演练:从备份里取一个文件,校验哈希,确认内容完整。只备份不验证,等于没有备份。
记录
最后把这次检查的结果写进维护日志:日期、执行的命令、发现的问题、处理方式。下次出问题时,这份记录往往比搜索引擎更有用。