使用shell脚本按周切割日志可避免磁盘占满,核心是通过date +%Y%V获取周标识,判断周变更后移动日志并重建文件,结合crontab每周一执行,确保服务不中断。

Linux系统中日志文件会随着时间不断增长,过大的日志不仅影响查看效率,还可能占满磁盘空间。为解决这个问题,可以使用shell脚本实现按周自动切割日志。相比logrotate等工具,自定义脚本更灵活,适合特定业务场景。
每周将当前日志归档一次,归档文件名包含年份和周数(如app_2024_W15.log),原日志清空或重命名后新建。关键点:
以下是一个通用的日志按周切割脚本示例:
<font face="Courier New">
#!/bin/bash
<h1>日志源文件路径</h1><p>LOG_FILE="/var/log/myapp.log"</p><h1>归档目录</h1><p>ARCHIVE_DIR="/var/log/archive"</p><h1>获取年份+周数(如:2024_15)</h1><p>WEEK<em>TAG=$(date +%Y</em>%V)</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/1298">
<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680203955338.png" alt="法语写作助手">
</a>
<div class="aritcle_card_info">
<a href="/ai/1298">法语写作助手</a>
<p>法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="法语写作助手">
<span>31</span>
</div>
</div>
<a href="/ai/1298" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="法语写作助手">
</a>
</div>
<h1>创建归档目录</h1><p>[ ! -d "$ARCHIVE_DIR" ] && mkdir -p "$ARCHIVE_DIR"</p><h1>上周标记(用于判断是否已处理)</h1><p>LAST_WEEK_FILE="$ARCHIVE_DIR/.last_week"</p><h1>读取上次处理的周数,若无则初始化</h1><p>if [ -f "$LAST_WEEK_FILE" ]; then
LAST_PROCESSED=$(cat "$LAST_WEEK_FILE")
else
LAST_PROCESSED=""
fi</p><h1>如果当前周未处理,则进行切割</h1><p>if [ "$WEEK_TAG" != "$LAST_PROCESSED" ]; then
if [ -f "$LOG_FILE" ] && [ -s "$LOG_FILE" ]; then</p><h1>移动日志到归档目录</h1><pre class='brush:php;toolbar:false;'> mv "$LOG_FILE" "$ARCHIVE_DIR/myapp_${WEEK_TAG}.log"
# 重新创建空日志文件并保留权限
touch "$LOG_FILE"
chown --reference="$ARCHIVE_DIR/myapp_${WEEK_TAG}.log" "$LOG_FILE" 2>/dev/null || true
chmod --reference="$ARCHIVE_DIR/myapp_${WEEK_TAG}.log" "$LOG_FILE" 2>/dev/null || true
fi
# 更新最后处理周数
echo "$WEEK_TAG" > "$LAST_WEEK_FILE"fi
使用crontab每周一凌晨执行脚本:
实际部署时注意以下几点:
基本上就这些。通过简单的shell脚本加cron,就能实现稳定可靠的按周日志切割机制,无需依赖额外软件,适合轻量级运维需求。关键是判断周变更和正确处理文件句柄,避免服务中断。不复杂但容易忽略细节。
以上就是Linux日志怎么切割_Linux日志利用shell脚本按周切割的自动化实现方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号