{"version":"https://jsonfeed.org/version/1.1","title":"奇诺分享 | blog.ccino.cc - 重在分享","home_page_url":"https://blog.ccino.cc","feed_url":"https://blog-ccino-cc.pages.dev/json/","description":"","icon":"https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/images/channel-6ebae07c242a357bee27d74ca3e4b3ce.png","favicon":"https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/images/favicon-bdc56a1bbdd3d9f75032075380339348.jpg","authors":[{"name":"奇诺分享"}],"language":"zh-cn","items":[{"id":"-eI_fmGPzzo","title":"Obsidian 加密备份 - Google Drive、Dropbox、OneDrive","attachments":[{"url":"https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/media/video-c16e8297c72756bc0fd38fedcd045d94.mp4","mime_type":"video/mp4","size_in_byte":637485,"duration_in_seconds":159}],"url":"https://blog.ccino.cc/i/obsidian-backup/","content_html":"<p>在使用 Evernote 几年后，我最终将所有笔记迁移到了 Obsidian，这样我就可以完全控制我的笔记，并且可以使用、移动或<a href=\"https://lopespm.com/machine_learning/2024/06/24/personal-llm.html\" rel=\"noopener noreferrer\" target=\"_blank\">利用</a>这种格式。因此，我的笔记将不再存在于云端和我的私人设备中，因此任何冗余和备份都需要由我通过个人定期备份来保证。</p><p>十多年的笔记都依赖于单一的冗余，这让我有些不安，所以我能想到的选择是：</p><ol><li>订阅<a href=\"https://obsidian.md/sync\" rel=\"noopener noreferrer\" target=\"_blank\">Obsidian 的同步服务，</a><em>每月</em>需支付 4 美元。我的加密笔记将绑定到 Obsidian 的云服务</li><li>拥有一个自定义解决方案，利用 Obsidian 出色的可定制性，压缩和加密我的所有笔记，并使用云服务来托管此存档。我可以灵活地选择我想要的任何云提供商。</li></ol><p>我选择了选项 2，使用 Google Drive 云服务，并在本文中分享您也可以使用的方法。</p><h1><strong>如何操作</strong></h1><p>这个想法很简单：每当 Obsidian 退出时，使用<a href=\"https://obsidian.md/plugins?search=obsidian-shellcommands\" rel=\"noopener noreferrer\" target=\"_blank\">obsidian-shellcommands</a>&nbsp;shell 插件运行自定义脚本。此事件是可配置的，但我发现应用程序退出事件对我的用例具有必要的周期性，因为我经常偶尔打开 Obsidian，在上面写字，然后立即退出应用程序。</p><h2><strong>步骤 1. 加密并备份所有笔记的自定义脚本</strong></h2><p>首先，将以下脚本保存到计算机中的文件夹中（例如，/Users/yourunixname/backups/my_backup_script.sh），并使用您自己的 Obsidian、备份目标文件夹和您自己的存档密码对其进行更新：</p><pre class=\"ql-syntax\" spellcheck=\"false\">/bin/zsh #!/bin/zsh 复制代码\n\nobsidian_notes_folder=\"&lt;your_obsidian_folder&gt;\" ; # 例如，/Users/yourusername/Library/Application Support/obsidian\nobsidian_notes_tar_archive=\"${obsidian_notes_folder}/obsidian_backup.tar.gz\" ；\nbackup_folder=\"&lt;folder_where_the_final_encrypted_backup_will_be_placed&gt;\"; # 例如，/Users/yourusername/Library/CloudStorage/GoogleDrive/MyDrive/backup_folder\n\necho \"开始压缩黑曜石音符...\" ;\n\n# 创建一个包含 obsidian 文件夹内所有内容的 .tar 档案\ntar -czf ${obsidian_notes_tar_archive} ${obsidian_notes_folder}/obsidian_backup\n\n# 将 .tar 档案压缩为加密的 .7z 文件，密码为“PasswordOfYourChoosing”\n# 在此示例中，使用了从 nix 包管理器 (https://nixos.org/) 安装的 7za，但您可以使用来自任何其他信誉良好的来源的 7za\n/Users/你的用户名/.nix-profile/bin/7za a -tzip -mem=AES256 -mx=0 -mmt=12 -pPasswordOfYourChoosing ${obsidian_notes_folder}/obsidian_backup.7z ${obsidian_notes_tar_archive} ；\n\n# 将 .7z 文件移动到备份文件夹（例如您的 Google Drive / Dropbox / OneDrive 文件夹）\nmv ${obsidian_notes_folder}/obsidian_backup.7z ${backup_folder}/obsidian_backup.7z；\n\necho “压缩完成并移至备份文件夹”\n</pre><p><a href=\"https://gist.github.com/lopespm/fcfceebc311d8ba364919cdf4fa61e8d\" rel=\"noopener noreferrer\" target=\"_blank\"><em>（从 GitHub Gists</em></a><em>下载此脚本）</em></p><p>这些注释大部分都是不言自明的，但本质上这就是脚本的作用：</p><ol><li>首先创建一个包含 obsidian 文件夹内所有内容的 .tar 档案</li><li>将 .tar 存档压缩为密码加密.7z文件。记得用你自己的私人密码更新密码</li><li>将文件移动.7z到目标文件夹，该文件夹可能是您选择的云存储同步文件夹使用的文件夹（例如您的 Google Drive/Dropbox/OneDrive 文件夹）。</li></ol><p>由于最终文件名3.始终相同，因此它将被重写，但您的云存储同步可能会跟踪不同版本的变化，这可能会逐渐增加您的配额使用量。如果这是一个问题，只需使用您的云存储界面定期清除它们即可。</p><p>chmod +x &lt;script_file_name&gt;您可以通过授予脚本执行权限 ( ) 并运行 来测试您的脚本./&lt;your_script_name&gt;。您的最终加密存档应出现在最终backup_folder</p><h2><strong>第 2 步：在 Obsidian 退出时运行脚本</strong></h2><p>现在我们已经准备好了脚本，如果能在 Obsidian 发生特定事件（例如 Obsidian 退出时）时自动运行，我们的工作就会轻松很多。使用<a href=\"https://obsidian.md/plugins?search=obsidian-shellcommands\" rel=\"noopener noreferrer\" target=\"_blank\">obsidian-shell 命令</a>可以轻松在 Obsidian 发生特定事件时运行 shell 脚本。设置步骤如下：</p><p><strong>1.</strong>前往 Obsidian -&gt; 设置。然后选择“社区插件”选项。</p><p><img src=\"https://lopespm.com/files/obsidian_backup/p0.png\"></p><p><br></p><p><strong>1.1.</strong>在“社区插件”选项中，单击“浏览”。在那里，搜索“Shell”。您要安装的是<a href=\"https://lopespm.com/notes/2024/09/11/(https://obsidian.md/plugins?search=obsidian-shellcommands)\" rel=\"noopener noreferrer\" target=\"_blank\">Jarkko Linnanvirta 的 Shell 命令</a></p><p><img src=\"https://lopespm.com/files/obsidian_backup/p2.png\"></p><p><img src=\"https://lopespm.com/files/obsidian_backup/p3.png\"></p><p><br></p><p><strong>2.</strong>插件安装完成后，再次转到 Obsidian -&gt; 设置。您应该在左下角的“社区插件”窗格下看到一个名为“Shell 命令”的选项。单击它。</p><p><img src=\"https://lopespm.com/files/obsidian_backup/p4.png\"></p><p><br></p><p><strong>3.1.</strong>在“Shell 命令”插件中，选择“Shell 命令”选项卡，在其中单击“新建 shell 命令”，然后单击创建的行，单击其相应的齿轮图标。这将向您显示一个带有多个选项卡的新模式。</p><p><strong>3.2.</strong>在此命令模式中，选择“环境”选项卡，然后在“默认 shell 命令”中插入类似以下内容：zsh /Users/yourunixname/backups/my_backup_script.sh。这假设您的脚本位于/Users/yourunixname/backups/my_backup_script.sh</p><p><img src=\"https://lopespm.com/files/obsidian_backup/p5.png\"></p><p><br></p><p><strong>3.3.</strong>仍在此命令模式中，选择“事件”选项卡。在那里，您可以选择何时执行脚本。例如，搜索“Obsidian quits”，然后启用它（右侧有一个切换按钮）</p><p><img src=\"https://lopespm.com/files/obsidian_backup/p6.png\"></p><p><img src=\"https://lopespm.com/files/obsidian_backup/p7.png\"></p><p><br></p><p>全部完成！执行这些步骤后，您的备份脚本将在您选择的时间运行，并且将创建加密备份并将其放置在您在上述<a href=\"https://lopespm.com/notes/2024/09/11/obsidian-backup.html#step-1-custom-script-that-encrypts-and-backs-up-all-notes\" rel=\"noopener noreferrer\" target=\"_blank\">步骤 1</a>中选择的位置。 🎉</p><p><br></p><p>本文出自：https://lopespm.com/notes/2024/09/11/obsidian-backup.html</p>","content_text":"在使用 Evernote 几年后，我最终将所有笔记迁移到了\nObsidian，这样我就可以完全控制我的笔记，并且可以使用、移动或利用这种格式。因此，我的笔记将不再存在于云端和我的私人设备中，因此任何冗余和备份都需要由我通过个人定期备份来保证。\n\n十多年的笔记都依赖于单一的冗余，这让我有些不安，所以我能想到的选择是：\n\n 1. 订阅Obsidian 的同步服务，每月需支付 4 美元。我的加密笔记将绑定到 Obsidian 的云服务\n 2. 拥有一个自定义解决方案，利用 Obsidian 出色的可定制性，压缩和加密我的所有笔记，并使用云服务来托管此存档。我可以灵活地选择我想要的任何云提供商。\n\n我选择了选项 2，使用 Google Drive 云服务，并在本文中分享您也可以使用的方法。\n\n\n如何操作\n\n这个想法很简单：每当 Obsidian 退出时，使用obsidian-shellcommands shell\n插件运行自定义脚本。此事件是可配置的，但我发现应用程序退出事件对我的用例具有必要的周期性，因为我经常偶尔打开\nObsidian，在上面写字，然后立即退出应用程序。\n\n\n步骤 1. 加密并备份所有笔记的自定义脚本\n\n首先，将以下脚本保存到计算机中的文件夹中（例如，/Users/yourunixname/backups/my_backup_script.sh），并使用您自己的\nObsidian、备份目标文件夹和您自己的存档密码对其进行更新：\n\n/bin/zsh #!/bin/zsh 复制代码\n\nobsidian_notes_folder=\"<your_obsidian_folder>\" ; # 例如，/Users/yourusername/Library/Application Support/obsidian\nobsidian_notes_tar_archive=\"${obsidian_notes_folder}/obsidian_backup.tar.gz\" ；\nbackup_folder=\"<folder_where_the_final_encrypted_backup_will_be_placed>\"; # 例如，/Users/yourusername/Library/CloudStorage/GoogleDrive/MyDrive/backup_folder\n\necho \"开始压缩黑曜石音符...\" ;\n\n# 创建一个包含 obsidian 文件夹内所有内容的 .tar 档案\ntar -czf ${obsidian_notes_tar_archive} ${obsidian_notes_folder}/obsidian_backup\n\n# 将 .tar 档案压缩为加密的 .7z 文件，密码为“PasswordOfYourChoosing”\n# 在此示例中，使用了从 nix 包管理器 (https://nixos.org/) 安装的 7za，但您可以使用来自任何其他信誉良好的来源的 7za\n/Users/你的用户名/.nix-profile/bin/7za a -tzip -mem=AES256 -mx=0 -mmt=12 -pPasswordOfYourChoosing ${obsidian_notes_folder}/obsidian_backup.7z ${obsidian_notes_tar_archive} ；\n\n# 将 .7z 文件移动到备份文件夹（例如您的 Google Drive / Dropbox / OneDrive 文件夹）\nmv ${obsidian_notes_folder}/obsidian_backup.7z ${backup_folder}/obsidian_backup.7z；\n\necho “压缩完成并移至备份文件夹”\n\n\n（从 GitHub Gists下载此脚本）\n\n这些注释大部分都是不言自明的，但本质上这就是脚本的作用：\n\n 1. 首先创建一个包含 obsidian 文件夹内所有内容的 .tar 档案\n 2. 将 .tar 存档压缩为密码加密.7z文件。记得用你自己的私人密码更新密码\n 3. 将文件移动.7z到目标文件夹，该文件夹可能是您选择的云存储同步文件夹使用的文件夹（例如您的 Google Drive/Dropbox/OneDrive\n    文件夹）。\n\n由于最终文件名3.始终相同，因此它将被重写，但您的云存储同步可能会跟踪不同版本的变化，这可能会逐渐增加您的配额使用量。如果这是一个问题，只需使用您的云存储界面定期清除它们即可。\n\nchmod +x <script_file_name>您可以通过授予脚本执行权限 ( ) 并运行\n来测试您的脚本./<your_script_name>。您的最终加密存档应出现在最终backup_folder\n\n\n第 2 步：在 OBSIDIAN 退出时运行脚本\n\n现在我们已经准备好了脚本，如果能在 Obsidian 发生特定事件（例如 Obsidian\n退出时）时自动运行，我们的工作就会轻松很多。使用obsidian-shell 命令可以轻松在 Obsidian 发生特定事件时运行 shell\n脚本。设置步骤如下：\n\n1.前往 Obsidian -> 设置。然后选择“社区插件”选项。\n\n[https://lopespm.com/files/obsidian_backup/p0.png]\n\n\n\n\n1.1.在“社区插件”选项中，单击“浏览”。在那里，搜索“Shell”。您要安装的是Jarkko Linnanvirta 的 Shell 命令\n\n[https://lopespm.com/files/obsidian_backup/p2.png]\n\n[https://lopespm.com/files/obsidian_backup/p3.png]\n\n\n\n\n2.插件安装完成后，再次转到 Obsidian -> 设置。您应该在左下角的“社区插件”窗格下看到一个名为“Shell 命令”的选项。单击它。\n\n[https://lopespm.com/files/obsidian_backup/p4.png]\n\n\n\n\n3.1.在“Shell 命令”插件中，选择“Shell 命令”选项卡，在其中单击“新建 shell\n命令”，然后单击创建的行，单击其相应的齿轮图标。这将向您显示一个带有多个选项卡的新模式。\n\n3.2.在此命令模式中，选择“环境”选项卡，然后在“默认 shell 命令”中插入类似以下内容：zsh\n/Users/yourunixname/backups/my_backup_script.sh。这假设您的脚本位于/Users/yourunixname/backups/my_backup_script.sh\n\n[https://lopespm.com/files/obsidian_backup/p5.png]\n\n\n\n\n3.3.仍在此命令模式中，选择“事件”选项卡。在那里，您可以选择何时执行脚本。例如，搜索“Obsidian quits”，然后启用它（右侧有一个切换按钮）\n\n[https://lopespm.com/files/obsidian_backup/p6.png]\n\n[https://lopespm.com/files/obsidian_backup/p7.png]\n\n\n\n\n全部完成！执行这些步骤后，您的备份脚本将在您选择的时间运行，并且将创建加密备份并将其放置在您在上述步骤 1中选择的位置。 🎉\n\n\n\n\n本文出自：https://lopespm.com/notes/2024/09/11/obsidian-backup.html","image":"https://cdn-blog-ccino-cc.ccino.cc/blog-ccino-cc/production/images/item-63e8cb4a91d0accac3481cca9439c4e2.png","date_published":"2024-10-28T02:17:12.681Z","_microfeed":{"is_audio":false,"is_document":false,"is_external_url":false,"is_video":true,"is_image":false,"web_url":"https://blog-ccino-cc.pages.dev/i/obsidian-google-drivedropboxonedrive--eI_fmGPzzo/","json_url":"https://blog-ccino-cc.pages.dev/i/-eI_fmGPzzo/json/","rss_url":"https://blog-ccino-cc.pages.dev/i/-eI_fmGPzzo/rss/","guid":"-eI_fmGPzzo","status":"published","duration_hhmmss":"00:02:39","itunes:episodeType":"full","date_published_short":"Sun Oct 27 2024","date_published_ms":1730081832681}}],"_microfeed":{"microfeed_version":"0.1.2","base_url":"https://blog-ccino-cc.pages.dev","categories":[],"subscribe_methods":[{"name":"RSS","type":"rss","url":"https://blog-ccino-cc.pages.dev/rss/","image":"https://blog-ccino-cc.pages.dev/assets/brands/subscribe/rss.png","enabled":true,"editable":false,"id":"7-6m9ozpyuG"},{"name":"JSON","type":"json","url":"https://blog-ccino-cc.pages.dev/json/","image":"https://blog-ccino-cc.pages.dev/assets/brands/subscribe/json.png","enabled":true,"editable":false,"id":"kFHio_oK78v"}],"description_text":"","copyright":"©2024","itunes:type":"episodic","items_sort_order":"newest_first"}}