摘要:SuperMemo的算法和背后思想虽然都很超前,但软件的实际体验实在是一言难尽,尤其是至关重要的用户数据居然没有做完善的备份机制,本文记录了自己尝试网友分享的一种备份方法时踩的坑。
<!-- more -->
[KOPIA 开启影子备份以及 SUPERMEMO 18 的数据修护方法 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/524574542)写得很好也很详细,但自己还是碰到一些意外情况,折腾了一个晚上,所以专门整理下,希望对大家有点帮助。
# 补充的2点
首先,安装的时候最好不要选择为所有用户安装——这样会导致`KopiaUI\resources\server\kopia.exe`这个路径中包含空格,而bat脚本中处理空格非常麻烦。
其次,按照[官网](https://kopia.io/docs/advanced/actions/#enabling-actions)的说法,应该要手动开启权限才能通过脚本调用软件,所以按照[KOPIA 开启影子备份以及 SUPERMEMO 18 的数据修护方法 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/524574542)完成设置后还要通过下面的方式手动开启权限。

打开这个文件,把下面的红框所示的地方改成`true`,看清楚,不是`ture`,改完之后保存,重启一下。

# 报错
如果收到报错提示包含`exit status 1.`(或者有`before-folder`这样词,当时忘截图了),可能是因为写的脚本没有签名导致的报错。
注意,这个报错并不是这种备份方式存在的`时而成功时而失败`的问题,而是PowerShell的策略问题。
解决的办法:可以选择签名,也可以选择更改Powershell的权限(懒人推荐这种233)。
下面提供一种更改PowerShell权限的方法。
以管理员权限启动PowerShell,输入下面的代码
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
```
感谢[风未知Uw ](https://www.zhihu.com/people/fwzuw)补充,不用设置为`Unrestricted`也可以运行脚本了。
更多执行策略,可以查看这篇官方文档[关于执行策略 - PowerShell | Microsoft Docs](https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2)
# 其他注意事项
1. 注意在这篇[KOPIA 开启影子备份以及 SUPERMEMO 18 的数据修护方法 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/524574542)中所说的`并将上面的 “AABB” 替换成 kopia.exe 所在的路径`是不包括exe文件的,就是一个文件夹`KopiaUI\resources\server\`,或者说`AABB\after.ps1`这个部分实际就是`after.ps1`的路径(用everything等软件获取的那个)
2. 设置完成后,PowerShell每次都弹窗要求管理员权限的话,可以用右键以管理员权限启动`KopiaUI.exe`
3. 实在解决不了的话,尝试下面的备份方案吧
1. [SuperMemo 永无忧数据安全方案 (Git + Bitshelter + 跨设备) - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/472295202)
2. [SuperMemo 智能备份(Quicker+Kopia+Git) - 风未知Uw的文章 - 知乎](https://zhuanlan.zhihu.com/p/527433931)