手把手教你写日志记录脚本,轻松追踪系统运行状态

平时用电脑或者服务器跑程序,时间一长容易忘记哪些任务执行过、有没有出错。这时候有个自动记日志脚本就特别实用。比如你每天定时备份文件,但不知道某次有没有成功,翻记录又麻烦。一个简单的日志脚本就能帮你自动记录时间、操作结果,省心又高效。

为什么需要日志脚本

试想一下,你在后台跑了个下载脚本,半夜断电重启后,根本不知道它跑到哪了。如果有日志,打开一看“2025-04-05 03:21:12 - 下载完成”,心里立马有数。日志不只是给程序员用的,普通用户也能靠它理清操作轨迹。

用Shell写个基础日志脚本

Linux或macOS用户可以直接用Shell写。下面这个小脚本会在执行时记录时间和状态:

#!/bin/bash
LOGFILE="/home/user/operation.log"
echo "$(date '+%Y-%m-%d %H:%M:%S') - 开始执行备份任务" >> $LOGFILE

# 模拟一个操作
cp -r /source/folder /backup/ 2>&1
if [ $? -eq 0 ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 备份成功" >> $LOGFILE
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 备份失败" >> $LOGFILE
fi

把这个保存为 backup_with_log.sh,加上权限 chmod +x backup_with_log.sh,以后每次运行都会在日志文件里留下痕迹。

Windows下用批处理也能记日志

不用非得装复杂工具。比如你每天要复制一些工作文件,可以用批处理加时间戳:

@echo off
set LOGFILE=C:\logs\daily_job.log
echo %date% %time% - 开始同步文件 >> %LOGFILE%
xcopy D:\work\* E:\backup\ /D /Y
if %errorlevel% == 0 (
    echo %date% %time% - 同步成功 >> %LOGFILE%
) else (
    echo %date% %time% - 同步失败 >> %LOGFILE%
)

第一次运行前记得手动创建 C:\logs\ 文件夹。之后双击就能跑,出问题直接看日志。

Python脚本让日志更智能

如果你熟悉Python,可以用内置的 logging 模块,功能更强。比如:

import logging
import os

# 配置日志格式和文件
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

logging.info("程序启动")
try:
    with open('data.txt', 'r') as f:
        content = f.read()
    logging.info("文件读取成功")
except Exception as e:
    logging.error(f"读取失败: {e}")

这段代码会生成 app.log,自动区分信息和错误,时间也精确到毫秒,适合长期运行的小工具。

日志文件别忘了定期清理

日志记多了也会占空间。可以在脚本末尾加一句控制大小,比如Shell中:

# 保留最近100行
tail -100 $LOGFILE > $LOGFILE.tmp && mv $LOGFILE.tmp $LOGFILE

或者用Python判断文件体积,超过10MB就归档。这样既留了记录,又不会塞满硬盘。