切割服务器日志

切割服务器日志

一、前言

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

二、过程

我的日志放在 /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

保存退出

相关推荐
ManageEngineITSM几秒前
工单分类怎么设计?类别、子类别与自动分派的实用方法
大数据·服务器·数据库·人工智能·分类·数据挖掘
CANI_PLUS10 分钟前
电脑文件共享
运维·服务器
Decay__27 分钟前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
Linux界最忧郁之人31 分钟前
华为云ECS&IMS&AS实战|弹性云服务器、私有镜像、弹性伸缩完整实验
linux·运维·服务器·centos·华为云·openstack
后台模板学习1 小时前
GitHub Actions 与 Jenkins 在日志监
运维·github·jenkins
whyutianict_vv1 小时前
零基础转 AI 运维:投入清单、技术路线与核对表
linux·运维·人工智能·ai
无言听风雨丶1 小时前
systemd 与信号 / 僵尸进程:Linux 进程管理的底层逻辑与排错
linux·服务器·网络
小贾要学习1 小时前
【C++后端开发项目】Reactor 模型 / C++ 仿写 muduo HTTP 服务器:让底层网络库真正跑起网页
linux·服务器·c++·http·网络编程·muduo·reactor模型
g5zhu58962 小时前
没有公网ip的情况下,本地能ping服务器服务器不能ping本地,让服务器能访问本地某端口的简单方法
服务器·网络协议·tcp/ip
杨云龙UP2 小时前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle