我有一个synology DS213j。我已经安装了PhotoStation,它在我的所有文件夹中创建了一些@eaDir文件夹,以便创建一些缩略图图片。 我有这样的例子:
/photo
/photo/2012
/photo/@eaDir
/photo/2012/Album1
/photo/2012/Album2
/photo/2012/@eaDir
/photo/2012/Album1/SubAlbum1
/photo/2012/Album1/SubAlbum2
/photo/2012/Album1/@eaDir
我想tar我的文件夹2012,以便将其发送到Amazon Glacier进行备份。我不想使用.zip,因为我可能有一些超过4Gb的文件,这对于zip来说太多了。
我做到了:
tar -cvzf 2012.tar.gz 2012/
它工作但包括名为@eaDir的所有文件夹。
我的问题是。我想从我的tar文件中排除所有@eaDir文件夹。
我曾尝试使用--exclude函数,但似乎它在Synology上无效。也许我需要安装另一个包来获得另一个tar功能才能使用它。也许我可以使用正则表达式函数来实现我想要的目标。
有人可以帮我吗? (使用--exclude或regex或其他任何东西)
答案 0 :(得分:0)
我没有发现排除指定文件很容易.....尝试用pr修复,X选项--exclude = PATTERN选项和--exclude-tag-under = FILE选项的tar但空目录或@eaDir的内容包含在最终结果中....还尝试了一个小脚本来提供在while循环中添加zip的名称,这给我带来了一个小问题....
在你的问题中你说:“它在我的所有文件夹中创建了一些@eaDir文件夹,以便创建一些缩略图图片”....那个目录是@eDDir还是它的内容对你很重要?
如果您只是删除它们会更简单:
find ./photo -iname "@eaDir" -ok rm -rf {} \;
然后在那上面使用tar ....
tar -cvf photo.tar ./photo