切割服务器日志

切割服务器日志

一、前言

最近想把服务器中的日志切割一下,方便后续查询和清理,这里记录一下。

二、过程

我的日志放在 /www/wwwroot/guowang/jar 这个目录

需要将切割后的日志放到 /www/wwwroot/guowang/jar/logs 目录下

新建一个文件

log_cut.sh

写一个脚本如下

powershell 复制代码
#!/bin/bash
LOG_FILE="/www/wwwroot/guowang/jar/system.log"
OUT_DIR="/www/wwwroot/guowang/jar/logs"
DATE=$(date +%Y-%m-%d)

mkdir -p $OUT_DIR

# 复制日志,截断原日志
cp $LOG_FILE ${OUT_DIR}/system${DATE}.log
# 清空原日志(copytruncate逻辑)
> $LOG_FILE

将文件上传到服务器的

/www/wwwroot/guowang/jar

目录

如果是在 window 中做的编辑,上传之后可以检查一下,命令如下

powershell 复制代码
cat -v log_cut.sh

出现 ^M 就是 Windows 换行

这时可以使用如下命令做修正

powershell 复制代码
sed -i 's/\r//g' /www/wwwroot/guowang/jar/log_cut.sh

再次查询

powershell 复制代码
cat -v log_cut.sh

可以看到已经正常了

然后赋予执行权限

powershell 复制代码
chmod +x /www/wwwroot/guowang/jar/log_cut.sh

验证执行

powershell 复制代码
/bin/sh /www/wwwroot/guowang/jar/log_cut.sh

查看日志

powershell 复制代码
ls /www/wwwroot/guowang/jar/logs/system2026-08-11.log

可以看到正常生成了

然后加入到定时器中

powershell 复制代码
crontab -e

每天凌晨执行

powershell 复制代码
0 0 * * * /www/wwwroot/guowang/jar/log_cut.sh >> /www/wwwroot/guowang/jar/log_cut_run.log 2>&1

保存退出

相关推荐
子有内涵6 分钟前
【Linux】C++ 实现可扩展 TCP 服务器|回响、字典、远程命令
linux·运维·服务器
新兴AI民工11 分钟前
# 【Linux内核三十六】进程管理模块:CFS负载均衡(一):sched_domain与sched_group层级构建
linux·运维·负载均衡
luj_176816 分钟前
毒素驱动的生物自毁机制探析
服务器·c语言·开发语言·经验分享·算法
weixin_3077791318 分钟前
Databricks里用PySpark统计指定表和字段中各字段的空值、空字符串或零值比例
运维·数据仓库·python·spark·云计算
躺不平的理查德23 分钟前
Nginx与Ajax 备忘录
linux·运维·服务器
多多鼠25 分钟前
Tool Calling的信任边界:从协议校验到执行沙箱的完整链路设计
运维·开发语言·网络·人工智能·python·langchain
谢亮_vipxieliang29 分钟前
ValidX vs Apache Commons Validator:功能与性能对比
java·服务器·spring boot·后端·spring cloud·apache·hibernate
Neighbor_OldY39 分钟前
【实战复盘】RDP暴力破解与内网横向移动溯源:Windows全套排查命令与事件ID硬核解析
运维·windows·web安全
项目管理实用笔记39 分钟前
CI/CD是什么?持续集成持续交付入门
运维·ci/cd·研发效能·项目管理·团队开发
Sunqk566540 分钟前
将开发板串口连接到Ubuntu后未找到对应的设备文件?
linux·运维·ubuntu