ubuntu

Ubuntu上Node.js日志清理脚本编写

小樊
43
2025-07-05 00:03:28
栏目: 编程语言

在Ubuntu系统上,你可以使用Shell脚本来清理Node.js应用程序的日志文件。以下是一个简单的示例脚本,用于清理指定目录下的旧日志文件。

  1. 首先,打开一个文本编辑器,如nanovim,并创建一个新文件,例如cleanup_logs.sh
nano cleanup_logs.sh
  1. 将以下内容粘贴到cleanup_logs.sh文件中。请根据你的需求修改日志文件所在的目录(/path/to/your/logs)和保留日志文件的天数(例如:7天)。
#!/bin/bash

# 设置日志文件所在的目录
LOG_DIR="/path/to/your/logs"

# 设置要保留的日志文件天数
DAYS_TO_KEEP=7

# 获取当前日期
CURRENT_DATE=$(date +%s)

# 遍历日志目录中的所有日志文件
for LOG_FILE in $LOG_DIR/*.log; do
  # 获取日志文件的最后修改时间
  FILE_MOD_DATE=$(stat -c %Y "$LOG_FILE")

  # 计算日志文件的年龄(以天为单位)
  FILE_AGE=$(( (CURRENT_DATE - FILE_MOD_DATE) / 86400 ))

  # 如果日志文件的年龄大于要保留的天数,则删除该文件
  if [ $FILE_AGE -gt $DAYS_TO_KEEP ]; then
    rm "$LOG_FILE"
    echo "Deleted old log file: $LOG_FILE"
  fi
done
  1. 保存并关闭文件。

  2. 为脚本添加可执行权限:

chmod +x cleanup_logs.sh
  1. 现在,你可以手动运行此脚本以清理旧日志文件:
./cleanup_logs.sh
  1. 若要定期自动运行此脚本,可以将其添加到cron作业中。例如,每天凌晨1点运行此脚本:
crontab -e

在打开的编辑器中,添加以下行:

0 1 * * * /path/to/cleanup_logs.sh

保存并关闭文件。现在,脚本将每天凌晨1点自动运行,清理旧日志文件。

请注意,这个脚本只是一个简单的示例,你可能需要根据你的实际需求进行调整。例如,你可能需要处理不同类型的日志文件,或者在删除文件之前进行其他操作。

0
看了该问题的人还看了