免费笔记同步方案讨论

本贴最后更新于 348 天前,其中的信息可能已经事过境迁

昨天无意间发现 SiYuan 的早鸟计划下个月就要结束了,对于还没上车的我来说是有一点紧张的,出于对笔记同步的需要我打算先研究一下免费的笔记同步方案,实在想不通再支持早鸟。

今天时间看了一下源码,go 编写的没太看明白但是我感觉应该是有一个 cloud 包这个包用来提供 SiYuan 的笔记云同步服务,所以自己在开源的基础上开发同步服务成本会一些第一个就给 pass 了;

我大概想出了这几个同步方案,大家可以一起讨论分析:

git 同步方案

定时任务扫描 data 工作区间,同步到远程仓库,但是这个只能作为笔记的备份以及回溯,做同步有点难,之前用过一段时间,脚本命令放在下面啦

同步 shell

#!/bin/bash
current_time=$(date +"%Y-%m-%d %H:%M:%S")
cd /Users/xxx/MyNote
git add .
git commit -m "$current_time Sync"
git push

git ignore 文件

/backup
/conf
#/history
/sync
/temp
/corrupted
.DS_Store
/data/storage/recent-doc.json
/data/storage/local.json
/data/.siyuan/**
.lock
.idea
/data/public/**
/data/emojis/**
/data/plugins/**
/data/widgets/**
# /data/assets/**

Docker 远程启动

docker 部署的话其实是让 SiYuan 跑在 linux 这样如果有服务器的小伙伴就可以直接在任何有互联网的地方使用自己的笔记,而且也不会存在笔记的冲突,但是最重要的是得有服务器呀,购买服务器的成本会更高一些。

所以我想到了是否可以通过自己的 pc 机的 docker 部署 SiYuan 之后通过内网穿透映射把端口到公网,这样就实现了一个简单的服务器,目前还没研究内网穿透,感兴趣的小伙伴可以一起讨论一下。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22704 引用 • 91152 回帖

相关帖子

优质回帖
  • 5Z4Uo6oGvKPB7o 2 赞同

    为了长期使用这么好的软件,个人建议优先选择支持付费支持。与其他相比,这点费用属实不多。内置的 S3 同步也会更稳定,数据安全更有保障。

  • Bard 2 赞同

    时间成本也是成本

    情绪成本也是成本

  • player 1 1 赞同

    可以删除之前的 .git 目录重新 git init。不过要,先保存你的 .git/config 文件,方便 init 后覆盖过去。估计你之前错误的把 temp 目录包含进去了。 gitignore 是后来修改的。 另外图片的 assets 目录小的话,可以留着。大的话,也要排除。用其他方式同步。

    目前我是主要用 git,s3 就低频用。两条腿走路,不怕丢数据。

    不过 git s3 我都选择手动,就像写代码,一个阶段提交一次。 git push 做个按钮放到了 daily note 模版。方便触发。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • powehi
    作者

    老哥 git push 怎么按钮放到 daily note 里面呀

    1 回复
  • 其他回帖
  • powehi
    作者

    我昨天尝试在插件里面 点击按钮调用 shell 脚本 但是会报错 所以我改成了 定时任务执行 每个小时执行一次 但是我发现 如果笔记在 Documents 文件夹下面的话 crontab 在执行的时候会没有权限访问文件夹 比较迷惑 没找到解决方案 后来把笔记放到用户文件夹下就可以了

    2 回复
  • player 1

    得先做一个,服务,比如 http 的。 提供一个接口, 比如: http://localhost:8080/push,里面的逻辑就是如何 git push。 插入一个 html 块,里面放个按钮,就好。然后可以调用了。把 html 写到 dailynote 的模板里面就好。

    或者用我之前搞的一个小挂件。

    image.png

    不过我现在做到插件里面了,设置一个快捷键 ctrl+s,直接就 push 了。

    2 回复
  • powehi
    作者

    同意回复一下大家哈,刚刚仔细想了一下认为还是 S3 的同步会省时省力一些,因为 git 的方案是用过的,有很多不确定性,而且 git 仓库的大小也会增加很多,docker 部署的办法只是一个想法但是可行性真的太差了,最后我还是打算入了早鸟价的 s3 webdav 同步服务

  • 查看全部回帖