linux 按月份打包日志并删除原有的日志

#!/bin/bash


month=`date -d 'last month' |awk '{print $2}'`    #获取上月月份

mkdir -p /home/test/logs/${month}

cd /home/test/log/     #日志目录

filelist=`/usr/bin/ls -l /home/test/log/  |grep ${month} |awk -F' ' '{print $9}'`

for i in ${filelist}

do

mv $i /home/test/logs/${month}

done

cd /home/test/logs/

tar -zcf $month.tar.gz $month

rm -rf /home/test/logs/${month}

### Linux `zip` 命令概述 在Linux环境中,`zip`命令用于创建ZIP格式的压缩文件。这种格式能够有效地减少存储空间便于传输数据[^1]。 #### 创建简单压缩文件 对于单个文件或少量几个文件来说,可以直接指定要被压缩的目标: ```bash zip output.zip file1.txt file2.jpg ``` 这条指令会将`file1.txt`和`file2.jpg`两个文件放入名为`output.zip`的新建存档里[^2]。 #### 递归压缩整个目录 当目标是一个完整的目录结构时,则需要用到带有`-r`选项的形式来实现递归操作,从而确保连同内部的所有子项都能被打包进去: ```bash zip -r dir.zip directory_name/ ``` 这里通过加上`-r`参数指示程序遍历给定路径下的每一个组成部分,将其加入到最终生成的结果集中去。 #### 添加额外功能特性 为了满足不同场景的需求,还提供了多种辅助性的开关供使用者灵活配置: - **移除原文件**:如果希望在完成打包动作的同时自动清理掉源位置上的实体副本,那么可以附加`-m`标记; ```bash zip -rm archive.zip folder_to_compress/ ``` - **查看进度详情**:想要实时跟踪正在进行中的任务状态的话,可以通过设置`-v`让终端打印出更详尽的日志记录; ```bash zip -rv project_backup.zip ./project_folder/ ``` - **静默模式运行**:相反地,在某些情况下可能不关心具体细节而只在意整体结果,此时利用`-q`就能抑制不必要的输出干扰视线; ```bash zip -rq silent_archive.zip source_materials/ ``` - **调整压缩强度**:另外值得一提的是,默认状态下采用适中的算法平衡效率与比率之间的关系,不过用户也可以自行设定范围内的数值(如`-1`至`-9`),以此获得不同程度的效果优化; ```bash zip -9 best_compression.zip large_files/ ``` #### 更新现有压缩包内容 假设已经存在一份旧版本的数据集合需要补充新的条目进来而不破坏原有架构,这时就轮到了`-u`大显身手了——它允许向既有的容器内追加新鲜血液: ```bash zip -uf existing_package.zip new_items/* ``` 上述例子表明如何把位于`new_items/`里的东西安全无误地注入到预先准备好的`existing_package.zip`之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值