centos如何进行定期维护
导读:CentOS定期维护清单与自动化方案 一 维护周期与核心任务 周期 关键任务 要点 每日 检查系统健康与告警 查看资源使用(CPU、内存、磁盘)、关键服务状态、登录与安全日志异常 每周 补丁与仓库更新 执行安全/常规更新、...
CentOS定期维护清单与自动化方案
一 维护周期与核心任务
| 周期 | 关键任务 | 要点 |
|---|---|---|
| 每日 | 检查系统健康与告警 | 查看资源使用(CPU、内存、磁盘)、关键服务状态、登录与安全日志异常 |
| 每周 | 补丁与仓库更新 | 执行安全/常规更新、清理缓存、核对更新日志 |
| 每月 | 安全与配置核查 | 防火墙与端口、SSH加固、用户与权限、SELinux、备份校验 |
| 每季 | 容量与性能评估 | 磁盘增长趋势、I/O与网络基线、慢查询/慢进程优化 |
| 每半年 | 灾备演练与审计 | 恢复演练、备份有效性验证、漏洞扫描与合规审计 |
| 按需 | 内核与驱动 | 评估并升级内核/驱动,变更窗口内实施与回滚预案 |
二 系统更新与补丁管理
- 检查与更新
- 查看可用更新:sudo yum check-update(或 sudo dnf check-update)
- 执行更新:sudo yum update(或 sudo dnf update)
- 仅安全更新:sudo yum update --security
- 刷新元数据缓存:sudo yum update --refresh
- 自动化更新(推荐)
- 安装并启用 yum-cron:sudo yum install -y yum-cron & & sudo systemctl enable --now yum-cron
- 配置策略(/etc/yum/yum-cron.conf):设置 update_cmd = update 与 apply_updates = yes,按需调整更新时段与是否下载仅、是否应用
- 变更控制
- 更新前备份关键数据与配置;变更窗口内执行;更新后重启并验证业务状态;核对 /var/log/yum.log 了解更新结果
三 安全加固与访问控制
- 防火墙
- 启用并配置 firewalld:sudo systemctl enable --now firewalld
- 规则变更后重载:sudo firewall-cmd --reload
- SSH 安全
- 修改默认端口、禁用 root 远程登录、使用 sudo、启用公钥认证并禁用密码登录
- SELinux
- 保持 SELinux=enforcing,按需配置策略以放行必需服务
- 用户与权限
- 实施最小权限原则,定期清理不再使用的账户与SSH密钥
- 漏洞扫描
- 定期使用 OpenVAS 或 Nessus 扫描并整改高中危漏洞
四 日志与磁盘空间维护
- 日志轮转(logrotate)
- 检查与手动触发:logrotate -vf /etc/logrotate.conf 或针对某服务:logrotate -vf /etc/logrotate.d/nginx
- 自定义示例(/etc/logrotate.d/myapp):
/var/log/myapp/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0640 root adm sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
- systemd 日志(journald)
- 查看占用:journalctl --disk-usage
- 按时间清理:journalctl --vacuum-time=7d
- 限制大小:echo “SystemMaxUse=100M” > > /etc/systemd/journald.conf & & sudo systemctl restart systemd-journald
- 快速清理单个日志文件(保留 inode 与权限)
- 推荐:truncate -s 0 /var/log/messages
- 或:> /var/log/messages
- 按时间清理旧日志
- 示例:find /var/log -type f -name “*.log” -mtime +30 -exec rm -f { } ;
- 容量巡检
- 查看目录大小:du -sh /var/log/
五 备份恢复与巡检自动化
- 备份策略
- 频率:每周全量 + 每日增量;至少1份异地备份
- 验证:定期恢复演练与校验和核对;保留变更与恢复记录
- 时间同步
- 使用 NTP/chrony 保持系统时间准确,避免因时间漂移影响证书、日志与审计
- 巡检脚本示例(可加入 cron)
- 检查系统日志错误/告警:
#!/usr/bin/env bash LOGDIR="/var/log/" logs=(boot.log messages secure) for log in "${ logs[@]} "; do echo "=== $log ===" grep -iE 'fail|error|warning' "${ LOGDIR} ${ log} " done - 检查磁盘使用阈值(示例阈值 80%):
#!/usr/bin/env bash THRESHOLD=80 usage=$(df -Ph / | awk 'NR==2 { print $5} ' | tr -d '%') if [ "$usage" -gt "$THRESHOLD" ]; then echo "WARN: Rootfs usage ${ usage} % > ${ THRESHOLD} %" else echo "OK: Rootfs usage ${ usage} %" fi - 检查关键服务状态:
#!/usr/bin/env bash for svc in sshd rsyslog crond nginx mysqld; do if systemctl is-active --quiet "$svc"; then echo "$svc: running" else echo "ERROR: $svc: stopped" fi done
- 检查系统日志错误/告警:
- 例行检查清单
- 资源与负载:top/htop/vmstat、I/O 与网络
- 磁盘与 inode:df -h、df -i
- 服务与端口:systemctl、ss -tulpen
- 登录与安全:last -f /var/log/wtmp、/var/log/secure
- 防火墙与 SELinux:firewall-cmd --list-all、sestatus
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos如何进行定期维护
本文地址: https://pptw.com/jishu/776898.html
