#1 - 2018-11-18 23:02
Cedar (。´-д-)
文件同步对我来说真的是一个难题..
我希望能找到一个文件同步工具, 在调整left文件夹的结构后能完全反映到right文件夹中..但是left不是right的镜像, 而仅仅是它的一个子集..也就是说虽然left中的文件夹跟right中一样多, 但是文件只有right中的一部分(至少占用的空间可以约等于零)..当left中增加了新文件后 同步时会进行left→right的操作, 而重命名文件夹时 right中的同名文件夹也会被重命名..删除left中的文件时能够选择是否保留right中的相同文件..
其实就是类似 OneDrive 的 File On Demand 功能..文件不占用本地空间 只在需要的时候拷贝到本地, 但是在本地能够随意调整文件结构/重命名文件/删除文件, 等联网后会自动把相同的操作同步到云端..(不过我希望同步到移动硬盘而不是云端)
我找了好久都没找到类似的工具..那些文件同步工具要么是完全镜像 要么就是增量备份..SyncToy有个Echo选项允许left与right不完全相同 而且left的删除操作能在right重复, 但是重命名文件夹时不会删除right端的旧文件夹..而且也做不到left删了但right留着的操作..所以也不是 File On Demand..
目前我一调整自己的目录结构就只能靠工具比较两边的区别 然后手动复制粘贴重命名..很费时间..
求助万能的bangumi 有没有人知道什么文件同步工具能做到 File On Demand 的呢?
不过我基本不抱希望了 所以有什么替代的方法也是可以的
其实SyncToy的Echo模式是稍微接近我的意图的..只是操作起来会稍微麻烦一点..但是它停止维护了 迟早出bug..其实我在网上看到已经有人反映echo模式有bug了 虽然我还没遇到..
我希望能找到一个文件同步工具, 在调整left文件夹的结构后能完全反映到right文件夹中..但是left不是right的镜像, 而仅仅是它的一个子集..也就是说虽然left中的文件夹跟right中一样多, 但是文件只有right中的一部分(至少占用的空间可以约等于零)..当left中增加了新文件后 同步时会进行left→right的操作, 而重命名文件夹时 right中的同名文件夹也会被重命名..删除left中的文件时能够选择是否保留right中的相同文件..
其实就是类似 OneDrive 的 File On Demand 功能..文件不占用本地空间 只在需要的时候拷贝到本地, 但是在本地能够随意调整文件结构/重命名文件/删除文件, 等联网后会自动把相同的操作同步到云端..(不过我希望同步到移动硬盘而不是云端)
我找了好久都没找到类似的工具..那些文件同步工具要么是完全镜像 要么就是增量备份..SyncToy有个Echo选项允许left与right不完全相同 而且left的删除操作能在right重复, 但是重命名文件夹时不会删除right端的旧文件夹..而且也做不到left删了但right留着的操作..所以也不是 File On Demand..
目前我一调整自己的目录结构就只能靠工具比较两边的区别 然后手动复制粘贴重命名..很费时间..
求助万能的bangumi 有没有人知道什么文件同步工具能做到 File On Demand 的呢?
不过我基本不抱希望了 所以有什么替代的方法也是可以的
其实SyncToy的Echo模式是稍微接近我的意图的..只是操作起来会稍微麻烦一点..但是它停止维护了 迟早出bug..其实我在网上看到已经有人反映echo模式有bug了 虽然我还没遇到..
我想用在移动硬盘备份数据上 就是把移动硬盘当云用..插上USB相当于联网..
GNU/Linux:https://www.ibm.com/developerwor ... -hardandsymb-links/
至于智能同步,可能还需要借助其他 sync 工具。
对链接的文件的操作在移动硬盘在线的时候是可以反映到真实文件上的,因为此时你操作的是同一个文件。
其实不太理解软链接..我理解的软连接大概类似"指向文件目录的硬链接"..
如果是这样的话, 你说的方法里, 一部分软链接其实是指向移动硬盘的..
那就意味着平常移动硬盘离线时, 链接到移动硬盘的软链接应该打不开才对吧? 所以里面的大文件我也看不到..
这样的话我就没法调整那些文件的路径 也没法给它们重命名 然后也没法在同一个目录下增加新文件..
而且如果我将来想把那个目录下的一部分大文件放到本地来(用手动复制粘贴的方式), 应该也没法放到同一个目录下吧? 因为在本地的相同目录其实是链接到移动硬盘的软链接..
目录文件结构可同步,按需下载靠手工,应该是比较完美的解决方案了(symbolic link 应该可以被同步吧)。
如果是这样的话 离线移动硬盘就没有备份能力了呀 所有文件都应该至少有一个副本在移动硬盘上才行..
如果要用符号链接的话 就要不断地改符号链接..大概像这样..但那就又没法同步了..
假设要备份的文件是 foo.bar,用上述方案配合双向同步工具的备份方法如下:
1. 把 foo.bar 正常备份到移动硬盘;
2. 三个月之后,本地硬盘放不下那个 20 k 的foo.bar 文件了,准备清理本地备份;
3. 将移动硬盘的 foo.bar 移动到移动硬盘的另一空闲目录(该区域专用于存放此类文件);
4. 在本地建立到移动硬盘 foo.bar 文件的符号链接 foo.bar.link,并同步到移动硬盘上
5. 现在本地和移动硬盘上都有了指向 foo.bar 副本的符号链接,文件夹结构不变。文件也能正常访问。
6. 删除本地的 foo.bar 副本(FOD 的“释放空间”类比于 4、6 两步在本地磁盘上的操作)(如果同步工具是双向的,此时本地的 foo.bar 副本在第三步的时候就没了);
7. 三个月之后我想编辑 foo.bar 了,两个办法:
a) 插上移动硬盘,直接编辑本地的 foo.bar.link,这样等同于编辑移动硬盘上的 foo.bar 的内容;
b)先把 foo.bar 复制到本地,编辑之后重新同步,如果要保留本地副本,那些符号链接就会全删掉(这是同步工具做的),到下次“释放空间”的时候重来。
8. 以此类推。
文件链接和 FOD 可以起到同样节约空间的目的,但如何同步是非常复杂的,尤其是你既得当客户端,又得当服务器端。
你的全部文件只保存在一些不常用的设备比如移动硬盘里, 而平常用的PC只有一部分文件..所以你在PC里没法打开那些不在PC里的文件..但是你可以看到它们..可以把它们当做本地文件一样移动复制粘贴删除重命名..
然后等移动硬盘连接到PC上之后, 利用这个工具的话, 你做过的全部操作会在移动硬盘处重复执行一遍..(当然 本地上存在的文件就还要检查有没有增加减少或更新)
当然, 因为是"伪镜像", 所以有时候删除PC上的数据并不是因为我不想要它了, 而是因为它太占空间了..所以还要有个功能是删除PC上的数据后, 移动硬盘中仍然能够保留它..
其实说来说去, 就是 OneDrive 和 Dropbox 的 File On Demand..只不过不是在云端 而是在本地实现它..连接移动硬盘相当于联网..
lz 大概是只想要一个指向离线副本的快捷方式而已。
因為樓上你有提到「那就意味着平常移动硬盘离线时, 链接到移动硬盘的软链接应该打不开才对吧? 所以里面的大文件我也看不到..」.
既然是移動硬盤,而且不是時常在線、 那麼和網盤的需求又有些稍微不一樣吧. 畢竟斷開的話「不管怎樣那個文件都不在」, 而移動硬盤卻不能預知哪些文件是你要的. (所以不能提前緩存下來)
- 目錄結構隨時會改變
- 改變要在大文件上發生
- 大文件本地存不下
- (不僅是目錄結構、內容也會發生改變)(假設)
那麼總結起來可以是:
- 本地和遠端用不同結構
- 遠端的結構精細維護
- 本地的結構隨意甚至不care
- 遠端能夠存儲大量大文件
- 本地能夠存儲少量大文件
- 本地能夠很快(在需要的時候)訪問遠端
那樣的話, 本地網絡存儲聽上去是一個不錯的方案:
- 網絡速度限制為網絡速度: 1300Mbps 應該是常用方案的最高
- 網絡磁盤可以映射到本地、甚至可以同時有多個訪問.
- 根據需求不同, 網絡端可以自帶備份 (RAID 或者其他的)
一個具體的例子就是 NAS.
我的移动硬盘不会随身携带, 所以本地也不需要很快就能访问远端, 只需要隔一段时间访问一次同步一下新数据并根据需要获取几个大文件就好..
移动硬盘不需要预知哪个文件重要..因为这是那个工具在管理..
你要是配置局域网当然可以 但是离线状态或者不在局域网内就没法进行任何操作了..因为你的文件都保存在NAS上..而且这种操作还有延迟 因为文件不在本地 所有操作都要联网进行..
其实楼下坚果云的例子就很符合我的需求, 只要把"联网"换成"连接移动硬盘"就行了..当然你改成连接NAS也可以..但是就我所知群晖之类的NAS并没有同步软件支持类似云桥的模式..早几年就有人在群晖论坛上提过类似的建议 然而群晖到现在也没做..
目录结构应该可以同步吧..我改个文件夹的名字 云端也会跟着改的吧..
echo变contribute什么的..不能完全信任它..而且这个其实也不怎么符合我的需求就是了..只是个折中方案
不過大文件, 我猜測是單個文件 50GiB+ 吧. 我就用本地方案.
而更小的的文件, 比如按項目組織的源代碼類型的文件, 就又是區別於以上兩個的 git.