当文件或文件夹位于已同步的目录中时,是否可以将其排除在同步之外?

use*_*951 8 sync ubuntu-one folder

我同步了一个名为“旅行”的文件夹。我想从同步中排除此文件夹中的文件。这可能吗?其他大型同步器,如 dropbox 和 mozy,有这个功能吗?

Chi*_*aca 7

Ubuntu One 目前不支持;一种解决方法是将文件夹从它当前所在的文件夹中移出(并在必要时从同步文件夹中指向它的符号链接),或者将其重命名为唯一的名称并将该名称添加到“忽略”模式列表(这第二种方法相当棘手;请阅读下面的注释)。

以下是第一步的操作:假设travel在一个名为 的目录中misc,并且travel您不想同步的子目录名为huge,打开一个终端(应用程序»附件»终端),然后输入:

 cd misc
 mv travel/huge .travel_huge
 ln -s ../.travel_huge tavel/huge
Run Code Online (Sandbox Code Playgroud)

请注意,这.travel_huge是一个隐藏目录,因此您通常不会在 nauitlus 和文件选择器中看到它。


拐弯处危险

假设您选择的唯一名称hugehuge-pics-of-acorn-trees-february-2011:首先,编辑 ~/.config/ubuntuone/syncdaemon.conf(您可以使用应用程序»附件»文本编辑器)并将以下内容添加到该__main__部分(如果文件不存在,将以下内容添加到仅包含[__main__])的行之前:

ignore = \A#.*\Z
         \A.*~\Z
         \A.*\.py[oc]\Z
         \A.*\.sw[nopx]\Z
         \A.*\.swpx\Z
         \A\..*\.tmp\Z
         \Ahuge-pics-of-acorn-trees-february-2011\Z
Run Code Online (Sandbox Code Playgroud)

或者您可以简单地将文件夹重命名为当前ignore列表中已经包含的内容,例如huge.tmphuge.pyc,但我怀疑您会喜欢这样。

但是请注意,所描述的第二种方法相当脆弱:确保u1sdtool -q; u1sdtool -c在创建顶级目录之前更新了配置文件并重新启动了同步守护程序(使用)。如果该目录已经存在,请不要在同步守护程序运行时将其移动到被忽略的名称;相反,停止同步守护程序,重命名文件夹,编辑忽略列表,然后启动同步守护程序。或者,将文件夹移出同步层次结构,并在将其移回之前重命名它。否则它可能无法像您期望的那样工作,如果有的话。


我知道 dropbox 有这个功能(我看过一个解释如何使用它的视频),但我没有检查过,它可能只在测试版或类似的东西中。