1
mcfog 2023-03-17 13:20:06 +08:00 via Android 2
B 是 nas A 是移动设备的话,反过来在 B 上跑脚本将同步文件夹的内容定期移动走就可以了,让 syncthing 自动把删除动作同步回 A ,不要用 syncthing 的那些不删除或者多版本之类的策略
|
2
sleepingdog OP @mcfog #1 绝,我怎么没想到。。。。
|
3
sleepingdog OP @sleepingdog #2 研究问题研究傻了,是这样
|
4
yfugibr 2023-03-17 13:34:05 +08:00 via Android
> task 的 app ,定时运行删除指定文件夹的任务
曾经考虑过这个方案,但是担心文件同步之前被删除(没法获取同步状态),就放弃了。 > 因为每次产生的备份文件大概也有 30g 左右 OP 用的什么备份方法,考虑直接同步文件夹?搭配 .stignore 规则应该没啥问题,我现在就是这么用的,把照片文档之类的文件夹整个同步过去,不需要的文件偶尔手动清一下。 >所以 B 设备(其实就是 nas )还要写个脚本之类的,只保留最近几份,定时删除多余的备份 syncthing 有自带回收站,可以控制保留多少个版本,保留多久,文件修改 /删除的时候触发,没啥特殊需求的话不需要自己写。 |
5
sleepingdog OP @yfugibr #4 我应该用 1 楼的方案。
你说的自带的“回收站”似乎更可靠,这样写个定时删除的脚本就行。 但我发现 syncthing 的版本控制——似乎需要经过 syncthing 的手,然后它才对该文件搞版本控制——比如 A 在同步了 a 到 B 之后,删除了该文件 a ,相关信息同步到 B 设备发现该文件 a 被删,于是做版本控制 如果是直接在 B 设备上删除 a 的话,B 设备它不会做版本控制 ------------------------ 所以如果用你的方案,可能要在安卓 A 上装一个 task 定时删除 a ,这样 B 才会做版本控制 --------------------------- 看了下 .stignore 规则,似乎只能实现 “忽略”功能吧, https://docs.syncthing.net/v1.23.2/users/ignoring ,好像没能实现我的需求 |
6
yfugibr 2023-03-17 16:18:36 +08:00 via Android
@sleepingdog #5 是的,我的想法是直接同步文件夹,或者打包备份的时候用同名文件覆盖掉(也会进回收站),不需要使用任何额外的脚本
|
8
lilyblx 2023-03-21 23:06:12 +08:00
我也脑子一下没转过来,卡了几天😂。只要 B 端移走文件删除操作会自动回传给 A
|