2013-05-29 90 views
0

我有一个Synology DS213j。我已经安装了PhotoStation,并在我的所有文件夹中创建了一些@eaDir文件夹,以创建一些缩略图图片。 我有这个例子:创建没有文件夹的tar文件夹,其中只有文件夹的名称是已知的(重复)

/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 

我想我的焦油2012文件夹,以发送到亚马逊的冰川进行备份。我不想使用.zip,因为我可能有一些超过4Gb的文件,这对zip来说太多了。

我已经这样做了:

tar -cvzf 2012.tar.gz 2012/ 

它的工作,但包括所有命名@eaDir的文件夹。

我的问题是。我想从我的tar文件中排除所有的@eaDir文件夹。

我试过使用--exclude函数,但它似乎在Synology上无效。也许我需要安装另一个包来让另一个tar函数能够使用它。也许我可以使用正则表达式来实现我想要的功能。

有人可以帮我吗? (与 - 排除或正则表达式或其他任何东西)

+0

看来我可以使用-X选项似乎与--exclude相同的焦油。 – user1108276

+0

我试过这个tar -cvz -X @eaDir -f 2012.tar.gz 2012,但仍然无法工作... – user1108276

回答

0

我不觉得很容易排除指定的文件.....试图找到与修剪,X选项--exclude = PATTERN选项和--exclude标签-under = tar的FILE选项,但是空目录或者@eaDir的内容被打包在最终结果中....还尝试了一个小脚本来提供名称以在一个while循环中添加zip,这使我得到了一个小问题....

在你的问题你说:“它创建了一些@eaDir文件夹在我的所有文件夹中,以创建一些缩略图图片”....是目录@eaDir或其内容对你很重要吗?

这将是一个简单得多,如果你也只是将其删除:

find ./photo -iname "@eaDir" -ok rm -rf {} \; 

,然后用对焦油....

tar -cvf photo.tar ./photo 
+0

嗨!实际上,这些文件夹是由PhotoStation(一个用于查看图片的Synology应用程序)自动创建的。我想将这些文件夹放在我的Synology上,但我不想备份它们。 – user1108276

+0

如果你删除它们,如果你再次访问/查看照片,不会由系统创建它们吗? – nsd

+0

嗯,这是一种可能性,但我想避免这种情况。我们不能用焦油来做(这对我来说是最好的选择)。重新生成缩略图可能需要几天时间... – user1108276

相关问题