在Ubuntu系统上,你可以使用Shell脚本来清理Node.js应用程序的日志文件。以下是一个简单的示例脚本,用于清理指定目录下的旧日志文件。
nano
或vim
,并创建一个新文件,例如cleanup_logs.sh
。nano cleanup_logs.sh
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
保存并关闭文件。
为脚本添加可执行权限:
chmod +x cleanup_logs.sh
./cleanup_logs.sh
cron
作业中。例如,每天凌晨1点运行此脚本:crontab -e
在打开的编辑器中,添加以下行:
0 1 * * * /path/to/cleanup_logs.sh
保存并关闭文件。现在,脚本将每天凌晨1点自动运行,清理旧日志文件。
请注意,这个脚本只是一个简单的示例,你可能需要根据你的实际需求进行调整。例如,你可能需要处理不同类型的日志文件,或者在删除文件之前进行其他操作。