![使用 tar 压缩文件夹并尝试排除文件夹](https://linux22.com/image/160677/%E4%BD%BF%E7%94%A8%20tar%20%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B9%B6%E5%B0%9D%E8%AF%95%E6%8E%92%E9%99%A4%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我正在尝试让一个小脚本顺利运行,它应该将所有子文件夹存档在 /docker/* 下。我想要的是排除所有具有日期的文件夹(即 20191010、20180502 等)的脚本,这是我的 tar 行:
for dir in *
# loop trough folders and archive them
do tar --exclude='//([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]))' --warning=no-file-changed -cjf "$dir".tar.bz2 "$dir" # no trailing slash!
# Move created archive into subfolder
mv ${dir}.tar.bz{datefolder}
done
但它所做的是首先创建每日 fodler (201909xx),然后将其包含在 tarball 中。我缺少什么?
澄清(文件夹结构):
~/docker
20190915 <- this should be excluded
composer
watchdog
其余的子文件夹应该存档,每个都在其 tarball 中。 .tr.bz2