ubutun日志文件自动流转

使用场景:

使用nohup ./xxx > 123.log 2>&1 &

执行程序后,123.log会随着时间的持续越来越大,那么如何在不影响原来程序的情况下,不重启,达到轮转日志的目的呢,并且是系统级的配置,无需修改程序。

解决方法:

复制代码
sudo vim /etc/logrotate.d/wx_services

/wx/ipad/run.log
/wx/LangBot-master/run.log {
    # 每天轮转一次
    daily
    # 保留30天的日志
    rotate 30
    # 文件达到100MB也触发轮转(双重保险)
    size 100M
    # 轮转时压缩旧日志(节省空间)
    compress
    # 压缩时使用gzip格式
    compressext .gz
    # 轮转后保留原始文件(不影响服务输出)
    copytruncate
    # 空文件也轮转(避免日志丢失)
    notifempty
    # 创建新日志文件时保持相同权限
    create 644 root root
    # 轮转日志的命名格式(带日期)
    dateext
    dateformat -%Y%m%d
}

# 测试配置是否正确(无报错即正常)
sudo logrotate -d /etc/logrotate.d/wx_services

# 手动执行一次轮转(立即生效)
sudo logrotate -f /etc/logrotate.d/wx_services

修改配置后无需重启,他的本质是crontab去执行,如果你想立即生效,可以手动执行一次轮转。

相关推荐
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode3 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫4 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux