汤姆cat日志切割和时间限制删除

Centos大文件切割和合并,centos切割合并

现在很多公司都会把项目放在云服务器上,当我想把云服务器里面的代码和生成的文件
“sz 文件名称”
down下来的时候,发现太大。云服务器不支持下载很大的文件。那么这种情况就需要使用split命令切割文件,然后down下来,在本地合并或传到需要的服务器上再合并。

split命令语法如下:

split [- -help][- -version][-a ][-b][-C ][-l ]
[要切割的文件] [输出文件名前缀]


-a, – -suffix-length=N : 使用的后缀长度 (默认为 2)
-b, – -bytes=SIZE : 每个输出文件的字节大小
-C, – -line-bytes=SIZE : 每个输出文件每行的最大字节大小
-d, – -numeric-suffixes : 使用数字后缀代替字母后缀
-l, – -lines=NUMBER : 设定每个输出文件的行数

  • -help : 显示帮助信息
  • -version : 显示版本信息
    ++++++++++ps:文章里所有命令前的“-
    -”中间都没有空格,只是为了演示看着明显++++++++++

下面做了一个简单的测试:

可以看出来使用“split -b 3m tomcat.tar.gz
tomcat.tar.gz_”命令已经生成了四个文件,每个文件3M大小。
这样你就可以通过“sz”命令来下载云服务器里被切割的文件


下载被切割的文件之后,可以在windows系统本地合并之后再上传,也可以把切割文件上传带linux系统里再合并。

一、在windows系统合并:

可以看到还是之前被切割的文件
通过“copy /b
tomcat.tar.gz_aa+tomcat.tar.gz_ab+tomcat.tar.gz_ac+tomcat.tar.gz_ad
test.tar.gz”命令,合并成了“test.tar.gz”文件。

二、在linux系统合并:

通过一条很简单的“cat 所有被切割的文件名称 >
新的文件名称”命令就合并了被切割的文件

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我们通过md5校验的方式,看看两个文件是否一样:
没有切分之前的文件:

md5值为:080075877a66adf52b7f6d0013fa9730

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
切分之后在windows系统内合并的文件:

md5值同样为:080075877a66adf52b7f6d0013fa9730

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

切分之后在linux系统内合并的文件:

md5值同样为:080075877a66adf52b7f6d0013fa9730

在Tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。

Tomcat日志切割和定期删除

在Tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。

第1章 系统环境
1.1 操作系统环境
[[email protected]
~]# cat /etc/RedHat-release
CentOS release 6.5 (Final)
[[email protected]
~]# uname -r
2.6.32-431.el6.x86_64
[[email protected]
~]# uname -m
x86_64

1.2 jdk环境
[[email protected]
~]# java -version
java version “1.7.0_67”
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Server VM (build 24.65-b04, mixed mode)

1.3 tomcat环境
[[email protected]
~]# /opt/gw/tomcat7/bin/catalina.sh version
Using CATALINA_BASE:  /opt/gw/tomcat7
Using CATALINA_HOME:  /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME:        /usr/local/jdk1.7
Using CLASSPATH:     
/opt/gw/tomcat7/bin/bootstrap.jar:/opt/gw/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.57
Server built:  Nov 3 2014 08:39:16 UTC
Server number:  7.0.57.0                #<==tomcat-7.5.57版本
OS Name:        Linux
OS Version:    2.6.32-431.el6.x86_64
Architecture:  i386
JVM Version:    1.7.0_67-b01
JVM Vendor:    Oracle Corporation

第2章 切割工具cronolog
2.1 cronolog的介绍
Cronolog是一个过滤器程序,它从标准输入读取日志文件条目,并将每个条目写入由文件名模板和当前日志所指定的输出文件中。
当扩展文件名改变时,关闭当前文件,并打开一个新文件。
Cronolog是为了与Apache等Web服务器一起使用,将访问日志分为每日或每月日志。

2.2 cronolog的安装
2.2.1 下载cronolog
cd /usr/local/src
wget 
[[email protected]
src]# md5sum cronolog-1.6.2.tar.gz
a44564fd5a5b061a5691b9a837d04979  cronolog-1.6.2.tar.gz       
#<==cronolog的MD5码

2.2.2 编译安装
[[email protected]
src]# tar xf cronolog-1.6.2.tar.gz
[[email protected]
src]# cd cronolog-1.6.2
[[email protected]
cronolog-1.6.2]# ./configure         
#<==编译,此前先确保安装cmake等编译工具
[[email protected]
cronolog-1.6.2]# make && make install #<==安装
[[email protected]
cronolog-1.6.2]# which cronolog     
#<==检查是否安装成功,如果有结果则安装成功
/usr/local/sbin/cronolog

2.3 cronolog命令

[[email protected]
~]# which cronolog
/usr/local/sbin/cronolog            #<==cronolog命令的存放路径
使用man帮助命令查看cronolog使用语法:
[[email protected]
~]# man cronolog
NAME
      cronolog – write log messages to log files named according to a
template
 
SYNOPSIS
      cronolog [OPTION]… template

第3章 配置tomcat日志切割
配置日志切割,只需修改配置文件catalina.sh(如果windows则是catalina.bat,这里不介绍windows情况)即可。大概在catalina文件中的第380行和第390行左右,修改如下:

(1)内容:

org.apache.catalina.startup.Bootstrap
“[email protected]”
start \
>> “$CATALINA_OUT” 2>&1 “&”

替换为:

org.apache.catalina.startup.Bootstrap
“[email protected]”
start \
2>&1 |/usr/local/sbin/cronolog
“$CATALINA_BASE/logs/catalina-%Y-%m-%d.out” &

(2)内容:

org.apache.catalina.startup.Bootstrap
“[email protected]”
start \
>> “$CATALINA_OUT” 2>&1 “&”

替换为:

org.apache.catalina.startup.Bootstrap
“[email protected]”
start \
2>&1 |/usr/local/sbin/cronolog
“$CATALINA_BASE/logs/catalina-%Y-%m-%d.out” &

配置完成后,重启tomcat即可!!!!

第4章 定时删除过期日志
在这里直接使用linux自带的crontab定时任务工具,设置每天凌晨00:00执行删除任务,删除7天以前的日志文件。

crontab -e          #<==直接输入该命令,添加一个定时任务计划
00 00 * * * /bin/find /opt/gdyy/tomcat7/logs/ -type f -mtime +7 |
xargs rm -f  &>/dev/null 
#<==查找tomcat/logs下面的日志文件,并删除7天以前的日志,添加完成后保存退出!!

[[email protected]
~]# crontab -l    #<==查看定时任务计划
#remove gw log 7 days ago by liutao at 2018-02-08
00 00 * * * /bin/find /opt/gw/tomcat7/logs/ -type f -mtime +7 | xargs
-i mv {} /data/bak/gw_log/  &>/dev/null

tomcat日志切割并定时删除完成!!!

本文永久更新链接地址:

在Tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增…

第1章 系统环境
1.1 操作系统环境
[root@server1 ~]# cat
/etc/RedHat-release
CentOS release 6.5
(Final)
[root@server1 ~]# uname -r
2.6.32-431.el6.x86_64
[root@server1 ~]# uname -m
x86_64

1.2 jdk环境
[root@server1 ~]# java -version
java version “1.7.0_67”
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Server VM (build 24.65-b04, mixed mode)

1.3 tomcat环境
[root@server1 ~]# /opt/gw/tomcat7/bin/catalina.sh version
Using CATALINA_BASE:  /opt/gw/tomcat7
Using CATALINA_HOME:  /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME:        /usr/local/jdk1.7
Using CLASSPATH:     
/opt/gw/tomcat7/bin/bootstrap.jar:/opt/gw/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.57
Server built:  Nov 3 2014 08:39:16 UTC
Server number:  7.0.57.0                #<==tomcat-7.5.57版本
OS Name:        Linux
OS Version:    2.6.32-431.el6.x86_64
Architecture:  i386
JVM Version:    1.7.0_67-b01
JVM Vendor:    Oracle
Corporation

第2章 切割工具cronolog
2.1 cronolog的介绍
Cronolog是一个过滤器程序,它从标准输入读取日志文件条目,并将每个条目写入由文件名模板和当前日志所指定的输出文件中。
当扩展文件名改变时,关闭当前文件,并打开一个新文件。
Cronolog是为了与Apache等Web服务器一起使用,将访问日志分为每日或每月日志。

2.2 cronolog的安装
2.2.1 下载cronolog
cd /usr/local/src
wget 
[root@kafka01 src]# md5sum cronolog-1.6.2.tar.gz
a44564fd5a5b061a5691b9a837d04979  cronolog-1.6.2.tar.gz       
#<==cronolog的MD5码

2.2.2 编译安装
[root@kafka01 src]# tar xf cronolog-1.6.2.tar.gz
[root@kafka01 src]# cd cronolog-1.6.2
[root@kafka01 cronolog-1.6.2]# ./configure         
#<==编译,此前先确保安装cmake等编译工具
[root@kafka01 cronolog-1.6.2]# make && make install #<==安装
[root@kafka01 cronolog-1.6.2]# which cronolog     
#<==检查是否安装成功,如果有结果则安装成功
/usr/local/sbin/cronolog

2.3 cronolog命令

[root@server1 ~]# which cronolog
/usr/local/sbin/cronolog            #<==cronolog命令的存放路径
使用man帮助命令查看cronolog使用语法:
[root@server1 ~]# man cronolog
NAME
      cronolog – write log messages to log files named according to a
template
 
SYNOPSIS
      cronolog [OPTION]… template