前言
随着在线笔记软件如Notion和wolai的空间限制日益严格,许多用户开始寻找替代方案。Obsidian作为一款本地知识管理工具,因其免费、灵活且功能强大的特点,成为了众多用户的首选。然而,Obsidian的云同步功能是收费的,这就需要用户寻找其他同步方案。本文将介绍如何使用阿里云的OSS服务和ossutil工具来实现Obsidian笔记的同步。
工具及服务准备
- Obsidian:本地笔记软件。
- OSS:阿里云提供的对象存储服务。
- ossutil:OSS数据的命令行管理工具。
操作步骤
安装Obsidian
访问Obsidian官网 Obsidian 下载并安装软件。
开通OSS服务并创建Bucket
- 使用阿里云账号开通OSS服务。
- 创建Bucket,并注意Bucket名称一旦创建不可修改。
安装ossutil
以Windows系统为例,安装ossutil的步骤如下:
- 下载Windows安装包并解压。
- 运行
ossutil.bat文件进行安装。 - 执行
ossutil config命令配置ossutil。- 设置配置文件路径。
- 设置工具语言。
- 设置Endpoint、AccessKey ID、AccessKey Secret和STSToken参数。
Obsidian 同步操作
本地同步到OSS
使用以下命令将本地Obsidian笔记同步到OSS:
ossutil64 sync D:\docspace\obsidian_base\ oss://obsidianoss/obsidianspace/ -f
OSS同步到本地
使用以下命令将OSS中的笔记同步到本地:
(笔者在公司写了一天的文档,回去想在另外一台电脑继续编写未完成的部分。此时需要把远程的笔记同步到本地。)
ossutil sync oss://obsidianoss/obsidianspace/ /Users/Andy/doc/obsidianspace -f
快捷操作与自动化
自动化同步脚本
创建批处理脚本(Windows)或Shell脚本(Linux/Mac)来简化同步过程。
Windows批处理脚本示例
创建sync_to_oss.bat和sync_from_oss.bat文件,内容分别如下:
@echo off
ossutil64 sync D:\docspace\obsidianspace\ oss://obsidianoss/obsidianspace/ -f
echo Synchronization to OSS complete.
pause
@echo off
ossutil64 sync oss://obsidianoss/obsidianspace/ D:\docspace\obsidianspace\ -f
echo Synchronization from OSS complete.
pause
Linux/Mac Shell脚本示例
创建sync_to_oss.sh和sync_from_oss.sh文件,内容分别如下:
#!/bin/bash
ossutil64 sync /path/to/local/obsidianspace oss://obsidianoss/obsidianspace/ -f
echo "Synchronization to OSS complete."
#!/bin/bash
ossutil sync oss://obsidianoss/obsidianspace/ /path/to/local/obsidianspace -f
echo "Synchronization from OSS complete."
定时同步
使用任务计划程序(Windows)或Cron作业(Linux/Mac)来实现定时自动同步。
同步日志
在脚本中添加日志记录功能,将同步详情记录到日志文件中,方便跟踪同步状态。
错误处理
在脚本中添加错误检查和重试逻辑,确保同步过程的稳定性。
安全性
保护您的AccessKey ID和AccessKey Secret不被泄露。
通过上述步骤,您可以实现Obsidian笔记在本地与OSS之间的无缝同步,同时通过自动化脚本简化日常操作,提高效率。希望这篇文档能够帮助您更好地管理个人知识库。