大概看意思是"拒绝创建空的文档" ,排查思路 先看下是否扫描路径查找的结果是空的

我这边执行的linux命令是

find /home/upload/2022/08/*  -regextype posix-extended -regex  ".*_mmexport[0-9]{13}.jpg" | xargs -exec tar -zcvPf 2022_07_mmexport_jpg.tar.gz --ignore-failed-read

我们先分类研究下几个核心命令

tar 压缩命令的常规用法

tar [选项] 文件名.tar.gz 源文件

选项参数这里列出常用的几个

-c  建立打包档

-t   查看打包档案里含有的文件名

-x  解打包或解压缩的功能

-j   bzip2进行压缩

-z  gzip进行压缩

-v  将压缩、解压缩过程中处理的文件名输出到屏幕

-f   接file_name 告知要处理的文档

-C 后面接要解压缩的特定目录

-p 保留档案的原本权限和属性,主要是备份重要文件的时候使用

-P 是否保留根目录/,一般不用
 

xargs 

xargs 它能够捕获一个命令的输出,然后传递给另外一个命令。使用管道来传递参数,也就是将find 命令执行的结果传送给tar命令

于是我这边通过前面的搜索命令执行,果然结果是空的

find /home/upload/2022/08/*  -regextype posix-extended -regex  ".*_mmexport[0-9]{13}.jpg" 

解决办法其实大家各自都有自己的想法,我这边没有做任何处理,因为没有搜索到合适的文件内容,我为什么还要创建一个空的压缩文件

Logo

更多推荐