在 Linux 系统管理和自动化脚本开发中,日志记录是一项至关重要的技能。无论是排查错误、监控系统状态,还是审计操作历史,良好的日志机制都能为你提供清晰、可追溯的信息。本文将带你从零开始学习 Linux Shell 日志记录,即使你是完全的新手,也能轻松上手。
Shell 日志记录是指在 Shell 脚本运行过程中,将关键信息(如执行时间、操作步骤、错误提示等)写入文件或标准输出/错误流的过程。通过日志,你可以知道脚本“做了什么”、“何时做的”以及“是否成功”。
最简单的日志方式是使用 echo 命令配合重定向符号 >> 将信息追加到日志文件中:
#!/bin/bashLOG_FILE="/var/log/my_script.log"echo "[$(date '+%Y-%m-%d %H:%M:%S')] 脚本开始执行" >> "$LOG_FILE"# 模拟一个操作ls /nonexistent_dir 2>&1 | tee -a "$LOG_FILE"echo "[$(date '+%Y-%m-%d %H:%M:%S')] 脚本执行结束" >> "$LOG_FILE" 上面的脚本会:
tee 同时将命令的输出和错误写入日志并显示在终端为了提高代码复用性,我们可以将日志功能封装成函数:
#!/bin/bashLOG_FILE="/var/log/my_app.log"log() { local level=$1 shift echo "[$(date '+%Y-%m-%d %H:%M:%S')] [$level] $*" >> "$LOG_FILE"}# 使用示例log "INFO" "服务启动中..."log "WARN" "配置文件未找到,使用默认设置"log "ERROR" "数据库连接失败" 这样,你可以在整个脚本中通过调用 log 函数来统一管理日志格式,实现更规范的 系统日志管理。
长期运行的脚本会产生大量日志,可能占满磁盘空间。Linux 提供了 logrotate 工具来自动管理日志文件:
创建配置文件 /etc/logrotate.d/my_script:
/var/log/my_script.log { daily rotate 7 compress missingok notifempty create 644 root root} 该配置表示:每天轮转一次日志,保留最近7天的日志,并压缩旧日志。
通过本文,你已经掌握了 Linux Shell日志记录 的基本方法和实用技巧。无论你是系统管理员还是自动化脚本开发者,良好的日志习惯都能显著提升你的工作效率和问题排查能力。现在就去优化你的 Shell 脚本,加入专业的日志功能吧!
关键词回顾:Linux Shell日志记录、Shell脚本日志、系统日志管理、Linux日志调试。
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121699.html