当前位置: 首页 > news >正文

Linux 日志管理进阶

Linux 日志管理进阶

Linux 日志管理进阶笔记


一、日志轮替(logrotate)

1. 什么是日志轮替?

日志轮替是 Linux 中自动管理日志文件的机制:

  • 当日志文件达到指定条件(时间/大小)时,将旧日志改名备份,同时创建新的空日志文件。
  • 当备份日志数量超过设置值时,自动删除最旧的日志,避免日志文件过大占满磁盘。

2. 日志轮替的两种命名方式

配置方式 说明 示例
dateext 参数 按数字序号递增改名 securesecure.1secure.2 → ...
dateext 参数 以日期为后缀备份(推荐) secure-20201010secure-20201011

3. logrotate 配置详解

(1)全局配置文件

  • 主配置文件:/etc/logrotate.conf
  • 子配置目录:/etc/logrotate.d/(推荐在此目录单独配置,避免主文件过于臃肿)

(2)核心配置参数

参数 说明
daily/weekly/monthly 轮替周期:每天/每周/每月
rotate 数字 保留的备份日志数量(0=不保留备份)
compress 轮替后自动压缩旧日志
create mode owner group 创建新日志文件,并指定权限、所有者、所属组
mail address 轮替日志出错时,发送邮件通知
missingok 日志文件不存在时,忽略警告信息
notifempty 日志为空时,不执行轮替
minsize 大小 日志文件必须达到指定大小才轮替(即使时间周期到了也不轮替)
size 大小 仅按文件大小轮替,不按时间
dateext 使用日期作为备份日志的后缀
prerotate/endscript 轮替前执行的脚本命令
postrotate/endscript 轮替后执行的脚本命令

4. 配置示例:自定义日志轮替

方式1:在 /etc/logrotate.conf 中直接配置

/var/log/hsp.log {missingokdailycopytruncaterotate 7notifempty
}

方式2:在 /etc/logrotate.d/ 中创建子配置文件(推荐)

  1. 创建配置文件:/etc/logrotate.d/hsplog
    touch /etc/logrotate.d/hsplog
    
  2. 写入配置内容:
    /var/log/hsp.log {missingokdailycopytruncaterotate 7notifempty
    }
    
  3. 配置自动被主文件 include 读取,无需额外操作。

二、系统内存日志:journalctl

1. 什么是内存日志?

journalctl 用于查看 systemd 管理的内存日志,特点是:

  • 日志存储在内存中,重启系统后会被清空。
  • 可查看系统启动后的所有服务、内核日志,支持按时间、服务、进程过滤。

2. 常用命令

# 查看所有内存日志
journalctl# 查看最新的3条日志
journalctl -n 3# 查看指定时间段的日志
journalctl --since "19:00" --until "19:10:10"# 查看错误级别日志
journalctl -p err# 查看详细日志内容
journalctl -o verbose# 查看指定进程/服务的日志
journalctl _PID=1245 _COMM=sshd# 过滤sshd服务的日志
journalctl | grep sshd

三、实战案例:数据库备份 Shell 脚本

1. 需求分析

  • 每天凌晨 2:30 备份 hspedu 数据库到 /data/backup/db 目录。
  • 备份开始/结束时输出提示信息。
  • 备份文件以时间命名(如 2021-03-12_230201.tar.gz)。
  • 自动删除 10 天前的备份文件。

2. 脚本实现

#!/bin/bash# 备份目录
BACKUP=/data/backup/db
# 当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo "备份开始,时间:$DATETIME"# 数据库配置
HOST=localhost
DB_USER=root
DB_PW=hspedu100
DATABASE=hspedu# 创建备份目录(不存在则创建)
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"# 备份数据库并压缩
mysqldump -u${DB_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATETIME}/${DATETIME}.sql.gz# 打包为tar.gz格式
cd ${BACKUP}
tar -zcvf ${DATETIME}.tar.gz ${DATETIME}
rm -rf ${BACKUP}/${DATETIME}# 删除10天前的备份文件
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;echo "备份数据库${DATABASE}成功~"

3. 定时任务配置(crontab)

# 编辑定时任务
crontab -e# 添加以下内容,每天凌晨2:30执行脚本
30 2 * * * /usr/local/bin/db_backup.sh

四、CentOS 7/8 日志管理对比

特性 CentOS 7 CentOS 8
日志服务 rsyslogd(主日志)+ journald(内存日志) 同样支持两者,journalctl 功能增强
日志轮替 logrotate 工具,配置文件路径不变 logrotate 兼容,推荐使用 /etc/logrotate.d/ 子配置
内存日志 journalctl 命令,重启清空 journalctl 命令支持更多过滤选项

五、日志管理最佳实践

  1. 轮替策略:重要日志(如 /var/log/secure)建议设置 daily 轮替,保留 30 天备份。
  2. 压缩备份:开启 compress 参数,节省磁盘空间。
  3. 定期清理:结合 find 命令,删除过期日志文件。
  4. 权限控制:日志文件权限设为 600,避免敏感信息泄露。
http://www.jsqmd.com/news/840709/

相关文章:

  • 3个实战技巧:深度掌握OBS StreamFX插件的专业级应用
  • 2026年家装仿石漆厂家哪家好:行业选型分析与核心实力梳理 - 万事通达
  • 魔兽争霸3 WarcraftHelper:让你的经典游戏在2026年焕发新生
  • 让旧iPhone重获新生的终极指南:Legacy iOS Kit降级工具详解
  • 新手避坑指南:用显微镜油镜观察细菌,这5个细节千万别做错
  • 2026 年华东气流粉碎机源头厂家推荐:气流粉碎机 / 流化床气流粉碎机 / GMP 标准气流粉碎机 / 实验室气流粉碎机 / 超微粉碎机选择指南 - 海棠依旧大
  • 2026年别墅仿石漆代理商选型指南:主流品牌实力与适配场景分析 - 万事通达
  • 告别强制绑定!实测Win11 OOBE跳过联网的3种方法:从经典Shift+F10到最新oobe\bypassnro命令全解析
  • RJ02.为什么中国不适合大规模推行国铁通勤化?
  • Honey Select 2终极汉化去码补丁:5分钟完整安装与优化指南
  • 智慧医疗口腔全景片牙齿缺陷检测数据集VOC+YOLO格式8106张12类别
  • FakeLocation终极指南:三分钟掌握Android应用级虚拟定位黑科技
  • 如何成为年薪百万的程序员?阿里P7的职业规划秘籍
  • 2026年内墙仿石漆服务商靠谱吗:行业选型标准与优质服务商深度分析 - 万事通达
  • openDCIM三漏洞链深度解析:AI Vulnhuntr自动化0day RCE在野利用全复盘
  • 如何通过DriverStore Explorer解决Windows驱动管理的三大核心难题
  • 2026武汉离婚律师推荐排行榜:十位资深婚姻家事律师深度解析与选择指南 - 博客湾
  • Legacy iOS Kit:让旧款iOS设备重获新生的全能工具指南
  • Nature Skills:AI助你写出顶级期刊论文
  • 开通Token Plan套餐后实际项目中的月度成本控制体验分享
  • 《信息系统项目管理师教程(第4版)》系列文章导航索引(2026完结版)
  • 如何快速压缩PDF文件?开源工具pdfsizeopt终极指南
  • 为什么你的电脑音质总是不满意?3步搞定系统级音频优化
  • 5分钟快速上手:抖音批量下载工具终极指南
  • 别再浪费标注预算了!用Python的modAL库5步搞定Active Learning,让模型自己挑数据
  • 2026年内墙仿石漆经销商选择指南:核心选型标准与优质合作品牌推荐 - 万事通达
  • 2026年别墅仿石漆厂家哪家好:行业选型标准与优质实力厂商推荐 - 万事通达
  • LangChain 第三课:Chain 链精讲
  • HarmonyOS ArkWeb 系列之页面预连接与 DNS 预解析:prepareForPageLoad 加速首屏
  • Legacy-iOS-Kit:让旧款iOS设备重获新生的终极降级工具指南