Linux下日志按日分割

#!/bin/bash
#LINUX下数据库审计日志按日分割的shell
#设置你的日志存放的目录
log_files_path="/opt/audit-mysql-log/"
#日志以年/月的目录形式存放
#log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")-$(date -d "yesterday" +"%m")
#设置需要进行日志分割的日志文件名称,多个以空格隔开
log_files_name=(3306)
#Set how long you want to save
save_days=30

############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir

log_files_num=${#log_files_name[@]}

#cut audit-mysql-log log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d%T").log
done

#delete 30 days ago nginx log files
#find $log_files_path -mtime +$save_days -exec rm -rf {} \;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux中的split命令可以按照行来分割文件。具体使用方法如下: 1. 打开终端,进入需要分割的文件所在的目录。 2. 输入以下命令: split -l 行数 文件名 其中,行数为每个分割文件包含的行数,文件名为需要分割的文件名。 例如,如果需要将文件test.txt按照每100行分割成多个文件,可以输入以下命令: split -l 100 test.txt 执行完毕后,会在当前目录下生成多个以xaa、xab、xac等命名的文件,每个文件包含100行数据。 ### 回答2: Linux中的split命令可以用于按行分割文件。该命令的语法为: ``` split [选项] 文件名 前缀 ``` 其中,选项可以是以下之一: - -l 行数:指定每个分割文件包含的行数。 - -n 文件数目:指定分割文件的数量。 - -a 数字:指定分割文件名后缀的长度。 文件名是要分割的文件的名称,前缀则是每个分割文件的名称前缀。 例如,如果我们有一个文件名为example.txt,其中包含10行文本。我们可以使用以下命令将其分割成2个包含5行文本的文件: ``` split -l 5 example.txt output ``` 这将生成两个分割文件outputaa和outputab,分别包含example.txt文件的前5行和后5行。 如果我们想要将文件分割成3个文件,每个文件包含3行文本,可以使用以下命令: ``` split -l 3 -n 3 example.txt output ``` 这将生成三个分割文件outputaa、outputab和outputac,每个文件包含example.txt文件中的3行文本。 通过使用split命令,我们可以轻松地按行将文件分割成多个部分,从而方便地处理大型文件。 ### 回答3: Linux中的split命令可以按照行来分割文件。该命令可以将一个大文件分割成多个小文件,每个小文件包含指定的行数。使用split命令可以很方便地处理大型日志文件、文本文件等。 使用split命令按行分割文件的语法如下: split -l <行数> <文件名> <输出文件前缀> 其中,-l参数用来指定每个小文件包含的行数,<文件名>为要分割的文件名,<输出文件前缀>是指分割后生成的小文件的名称前缀。 例如,假设有一个名为sample.txt的文件,内容如下: This is line 1. This is line 2. This is line 3. This is line 4. This is line 5. 要将该文件按照每行2行进行分割,可以使用以下命令: split -l 2 sample.txt output_ 执行该命令后,会生成两个小文件,分别命名为output_aa和output_ab。 output_aa的内容为: This is line 1. This is line 2. output_ab的内容为: This is line 3. This is line 4. 如果源文件的行数不能整除指定的行数,那么最后一个分割的小文件会包含剩余的行。 需要注意的是,split命令分割文件时,并不修改原始文件,而是生成新的小文件。如果需要删除原始文件中被分割掉的行,可以使用其他命令进行处理,如sed命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值