压缩所有子目录

压缩所有子目录

尝试将备份目录压缩到父目录中data/,如下所示

data
|- 2019-04-01
    |- data.gz
    |- data2.gz
|- 2019-04-09
    |- data.gz
    |- data2.gz

我想将带时间戳的目录压缩到同名的 zip 中,并删除解压缩的目录

data
|- 2019-04-01.zip
|- 2019-04-09.zip

我已经尝试过这个 find 命令来压缩它们,但我遇到了 no such file 错误 find . -type d -execdir zip -r {}.zip {} ';'我在这个命令上做错了什么?

答案1

你的命令工作正常,但它也压缩data.目录。
使用-mindepth-maxdepth选项。

要随后删除目录,请使用-execdir rm -Rf {} +

find data -mindepth 1 -maxdepth 1 -execdir zip -r {}.zip {} \; -execdir rm -Rf {} +

相关内容