方法1:使用split命令

split命令可以将一个大文件拆分成多个小文件,可以通过指定拆分后每个文件的大小来控制拆分后文件的数量。

假设要将catalina.out拆分成每个文件大小为100MB的小文件,可以使用如下命令:

split -b 100m catalina.out catalina_out_split_

这个命令将会在当前目录下生成多个以" catalina_out_split_"为前缀的小文件。

如果想要取文件末尾的一部分,可以使用tail命令。比如要取最后10MB的内容,可以使用如下命令:

tail -c 10m catalina_out_split_xxx

其中,"xxx"是文件的编号,从"aa"开始递增。

方法2:使用logrotate

logrotate是一个用于管理日志文件的工具,可以根据时间或文件大小等条件对日志文件进行切割、压缩和删除等操作。

假设要将catalina.out文件按照大小进行切割,可以在logrotate的配置文件中添加如下条目:

/path/to/catalina.out {
    size 100M
    create 644 user group
    compress
    postrotate
        tail -c 10M /path/to/catalina.out.* | gzip > /path/to/catalina.out.%Y%m%d.gz
        find /path/to/catalina.out.* -type f -mtime +7 -delete
    endscript
}

这个配置文件中,"size 100M"指定了文件大小达到100MB时进行切割,"create 644 user group"指定了切割后生成的文件权限和所有者,"compress"指定了切割后压缩文件,"postrotate"指定了切割后执行的命令,其中使用了tail命令取文件末尾的10MB内容,并将其压缩并存储到以日期为后缀的文件中。最后,"find"命令用于删除7天前的日志文件


原文地址: https://www.cveoy.top/t/topic/dofL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录