为了使多台计算机与 Dropbox 保持同步,我尝试了以下操作。
方法A。
-计算机 1:安装 Dropbox,Dropbox 文件夹:/Dropbox/
-计算机 1:在该文件夹中创建到主文件夹的符号链接
$ln -s /home/ /Dropbox/
-计算机 2:安装 dropbox,dropbox 文件夹:/Dropbox/(已填充计算机 1 中的文件
-计算机 2:尝试使用相同本地文件的符号链接覆盖文件
$ln -sfn /home/ /Dropbox/
ln: `/Dropbox/home': cannot overwrite directory
所以这种方法失败了,有人有修复错误的建议吗?或者另一种方法?到目前为止我提出的方法:
方法 B。我可以编写一个脚本来递归地符号链接所有文件,但我宁愿不朝这个方向发展,因为那时我必须运行该脚本才能获取新文件。
方法 C. 使用 rsync 在 home 和 dropbox 文件夹之间同步。我不喜欢这样,因为它不会自动更新,你必须调用 rsync 来做到这一点。将 rsync 放入每分钟运行的 cronjob 中似乎不是一个理想的解决方案。
有人可以帮助我修复方法 A 或提出方法 D 或说服我采用方法 B 或 C 吗?
答案1
难道真的没有办法指定您希望 Dropbox 在哪个目录上操作吗?您不能直接告诉 Dropbox 使用 /home 吗?
如果没有,您可以尝试完全跳过符号链接并使用多个绑定安装来完成此操作。换句话说:
mount --bind /home /Dropbox
在两台计算机上。
答案2
我想到了解决方法 A 的问题的方法:
-计算机 2:通过右键单击通知图标并选择“暂停同步”来暂停 Dropbox 同步
-计算机 2:删除 Dropbox 中的所有文件(可选将它们移动到您的主文件夹,覆盖本地文件,但在这种情况下,它们相同)
-计算机 2:符号链接就像您在计算机 1 上所做的那样,是 dropbox 文件夹中指向主文件夹的链接:
$ln -s /home/ /Dropbox/
-计算机 2:恢复 Dropbox 守护程序的同步,因为符号链接指向完全相同的文件,因此不应发生同步。
我认为这是一个很好的解决方案,因为主文件夹保持完整,并且 dropbox 在后台的另一个文件夹中执行它需要执行的操作。但并不是很简单。
我还想到了方法 A2,并将在这里分享它作为替代方案:
-计算机 2:删除主文件夹中的原始文件,并在主文件夹中创建指向 Dropbox 文件的符号链接
缺点:这会导致您的主文件夹中的所有图标上都有链接箭头
现在您的主文件夹中有符号链接而不是文件,当您对它们进行文件操作时必须注意这一点