Featured image of post Obsidian 加密备份 - Google Drive、Dropbox、OneDrive - Byte Tank

Obsidian 加密备份 - Google Drive、Dropbox、OneDrive - Byte Tank

在使用 Evernote 几年后,我最终将所有笔记迁移到了 Obsidian,这样我就可以完全控制我的笔记,并且可以使用、移动或利用这种格式。因此,我的笔记将不再存在于云端和我的私人设备中,因此任何数据和备份都需要由我通过个人定期备份来保证。

十多年的笔记都依赖于单一的静音,这让我有些不安,所以我能想到的选择是:

  1. 订阅 Obsidian的同步服务, _每月_需支付 4 美元。我的加密笔记将绑定到 Obsidian 的云服务
  2. 拥有一个自定义解决方案,利用 Obsidian 出色的可定制性,压缩和加密我的所有笔记,并使用云服务来托管此文档。我可以灵活地选择我想要的任何云事业。

我选择了选项 2,使用 Google Drive 云服务,并在本文中分享您也可以使用的方法。

这个想法很简单:每当 Obsidian 退出时,使用 obsidian-shellcommands shell 插件运行脚本脚本。这个事件是可配置的,我发现应用程序退出事件对我来说有必要的周期性,因为我经常偶尔 Obsidian,在上面写字,然后立即退出应用程序。

步骤 1. 加密并备份所有笔记的脚本脚本

首先,将以下脚本保存到计算机中的文件夹中(例如,/Users/yourunixname/backups/my_backup_script.sh),并使用您自己的 Obsidian、备份目标文件夹和您自己的文档密码由此进行更新:

1
2
3
4
5
6
7
8
/bin/zsh #!/bin/zsh 复制代码
 obsidian_notes_folder= "<your_obsidian_folder>" ; # 例如,/Users/yourusername/Library/Application Support/obsidian obsidian_notes_tar_archive= " ${obsidian_notes_folder} /obsidian_backup.tar.gz"; backup_folder= "<folder_where_the_final_encrypted_backup_will_be_placed>" ; # 例如,/Users/yourusername/Library/CloudStorage/GoogleDrive/MyDrive/backup_folder
echo  "开始压缩黑曜石清单..." ;
#创建一个包含黑曜石文件夹内所有内容的.tar文件 tar -czf ${obsidian_notes_tar_archive}  ${obsidian_notes_folder} /obsidian_backup
# 将 .tar 档案压缩为加密的 .7z 文件,密码为“PasswordOfYourChoosing”
# 在此示例中,使用了从 nix 包管理器 (https://nixos.org/) 安装的 7za,但您可以使用来自任何其他信誉良好来源的 7za /Users/你的用户名/.nix-profile/bin/7za a -tzip -mem=AES256 -mx=0 -mmt=12 -pPasswordOfYourChoosing ${obsidian_notes_folder} /obsidian_backup.7z ${obsidian_notes_tar_archive};
# 将 .7z 文件移动到备份文件夹(例如您的 Google Drive / Dropbox / OneDrive 文件夹) mv ${obsidian_notes_folder} /obsidian_backup.7z ${backup_folder} /obsidian_backup.7z;
echo “压缩完成并移至文件文件夹”

_ (从 GitHub Gists 下载此脚本)_

这些注释大部分都不是明言的,但本质上就是脚本的作用:

  1. 首先创建一个包含 obsidian 文件夹内所有内容的 .tar 文件
  2. 将. Tar 存档压缩为密码加密 .7z 文件。记住用你自己的私人密码更新密码
  3. 将文件移动 .7z 到目标文件夹选择,该文件夹可能是您的云存储同步文件夹使用的文件夹(例如您的 Google Drive/Dropbox/OneDrive 文件夹)。

由于最终文件名 3. 始终相同,因此会被重写,但是您的云存储同步可能会跟踪不同版本的变化,这可能会逐渐增加您的配件使用量。如果这是一个问题,只需使用您的云存储界面定期清除它们即可。

chmod +x <script_file_name> 您可以通过授予脚本执行权限 ( ) 并运行来测试您的脚本 ./<your_script_name>。您的最终加密文档应在最终出现 backup_folder

第 2 步:在 Obsidian 退出时运行脚本

现在我们已经准备好脚本了,如果能在 Obsidian 发生特定事件时自动运行,我们的很多工作就会轻松。使用 obsidian-shell命令轻松在 Obsidian 发生特定事件时运行 shell 脚本可以。步骤如下:

1.前往 Obsidian -> 设置。然后选择“社区插件”选项。

1.1.在“社区插件”选项中,单击“浏览”。在那里,搜索“Shell”。您要安装的是[Jarkko Linnanvirta 的 Shell 命令]

2.插件完成安装后,再次转到 Obsidian -> 设置。您应该在左下角的“社区插件”下面看到一个名为“Shell Command”的选项。单击它。

3.1.在“Shell 命令”插件中,选择“Shell 命令”选项卡,在其中单击“创建 shell 命令”,然后单击创建的行,单击其相应的齿轮图标。这将向您显示一个带有多个选项卡的新模式。

3.2.在此命令模式中,选择“环境”选项卡,然后在“默认 shell 命令”中添加类似以下内容:zsh /Users/yourunixname/backups/my_backup_script.sh。这假设您的脚本位于 /Users/yourunixname/backups/my_backup_script.sh

**3.3.**仍然在此命令模式中,选择“事件”选项卡。在那里,您可以选择脚本执行。例如,搜索“Obsidian quits”,然后启用它(右侧有一个切换按钮)

全部完成!执行这些步骤后,您的脚本脚本将在您选择的时间运行,并且将创建加密备份并将其放置在您在上述步骤 1 中选择的位置。

本文出自:Obsidian Encrypted Backup - Google Drive, Dropbox, OneDrive - Byte Tank

RSS Feed 使用 Hugo 构建
主题 StackJimmy 设计