需求背景
对接客户中某个上游为外包系统,外包系统每日推送压缩文件至指定文件夹下,文件格式为YYYYMMDD_RegReport.zip。由于每日采集文件,无法对接压缩包内文件,需要将推送的压缩文件每日解压为文件夹
需求分析
与客户沟通后,需求内容如下,
压缩包解析后放在当前目录下即可
解压后文件保留
多次推送特殊情况可以手动解压,
当天晚上推送当天的文件如20231010推送的文件夹为20231010__RegReport.zip
处理方案
这里显然需要处理俩件事情,解压至指定文件夹和定时调度处理。
解压
格式为zip,就用简单的unzip命令,这里唯一比较麻烦的地方就是,每日推送是根据日期做推送,所以需要考虑每日不同的压缩包名称,这里用linux自带的时间做每日匹配
#将压缩文件 YYYYMMDD_RegReport.zip 在指定目录 /tmp下解压缩,如果已有相同的文件存在,要求 unzip 命令不覆盖原先的文件
unzip -n $(date +%Y%m%d_RegReport.zip