定时备份 org-roam

最近几天费了好多脑筋, 想把 org-roam 的内容, 备份下来. 打算用 gpgtar 定时加密压缩, 比如说五分钟一次, 有更新就执行一次压缩脚本 backup.sh 最先设想的是用 linux 中 systemd 的 service 和 timer. 弄了好长时间, 遇到种种问题, 不成功.

现在想, 有没有可能, 在 emacs 的配置文件里, 设置定时启动 backup.sh.

因为我现在还是处在在网上抄配置的程度, 找了半天, 也没看到有类似的作业. 呵呵, 请哪位高手有时间的话, 指点指点.

(run-at-time "00:00am" t
             (lambda ()
               (message "Preparing org-roam backup ...")
               (async-shell-command "false")
               (message "Finished org-roam backup")) )
1 个赞

多谢指导.

从时间设置上来看, 似乎是每天运行一次, 我现在的想法, 是五分钟运行一次,

另外, 我的备份脚本 backup.sh 写在哪儿呢?

参考 run-at-time 的文档, 五分钟可以用 "5 minutes" 作为时间参数

这个还需要我帮你写吗 :sweat_smile: 你自己写了,然后改 async-shell-command 的内容就行了

好的. 多谢多谢…

好象是启动五分钟以后执行一次, 并没有重复. 哈… 如果要重复执行, 不知道应该怎么写…

我用的是 doom emacs,

在 config.el 的最后加上(load! “backup”)

在 backup.el 里填写的是上面的代码. 在 emacs 启动五分钟后, 备份会执行一次, 之后就没有了.

run-at-time 第二个参数是重复间隔的秒数,五分钟的话就是 300

1 个赞

多谢多谢, 终于算是解决了一个难题.

我都是直接放在 Dropbox

是的,

我现在是用 gpgtar 加密压缩, 再保存到 Dropbox 里, 电脑开机启动时, 自动解压到一个临时目录, 关机再删除临时目录.

1 个赞

我的方法是同步到nextcloud, 同时Git管理。nextcloud解决多机同步问题,git解决历史记录问题。

git 也用nextcloud同步了?我也在用nextclou,问问你怎么处理的。

我感觉我的方法一点都不“高级”, nextcloud是过滤了.git目录,然后git push到GIT服务器的,实际上GIT一般都用不上,因为我org-roam里面都是些note之类的。