Kopia教程—一个开源文件备份工具

Kopia是开源文件备份恢复工具,可以为本地任意数量文件夹建立快照,可以保存文件夹不同时刻的状态(每小时、每天或自定义时间保存快照)。该软件有安全、快速、低资源占用的特点。开源软件且采用高强度加密,保证了数据安全。算法合理,占用资源很少,可常驻后台无感知运行。对文件采用分块保存技术,相同块会共用,极大减小数据库占用空间(保存多个快照的数据库有可能比源文件夹占用空间小)。目前中文教程较少,因此随便写一下我安装方法与使用的经验。(220123_132240)

相关中文文章 :

SuperMemo 自动备份 - 知乎 (zhihu.com)

为什么要保留文件夹快照

我使用本软件的目的是记录文件夹状态,在必要的时候恢复文件夹为某时刻状态。我曾经几次特别需要此类软件,一次是Mendeley(一个论文管理软件)bug,把我的所有文献全改成了相同的名字(后面加序号)。一次是我自己写程序bug,把文件夹内改了部分软件,我自己也不知道改了哪些。还有一次是被小孩拿去玩,搞的乱七八糟。没有此类软件,会头疼无比,如果保留了快照,那就可以轻松的恢复任意正常的状态了。除了我遇到的情况,前几年勒索病毒时,如果受害有类似工具,可以把文件夹还原回原来的时刻,情况会好很多。保留快照是保障数据安全很有效的一个办法。

Kopia的特点

除了Kopia之外,还有很多工具可以保存快照。比如seafile网盘、苹果os的时光机器、windows的快照,git的LFS。seafile网盘大部分人用不了,苹果听说不错,但只有os有。windows的快照占用空间过大,git的LFS无法很好处理大文件,空间占用也极大。

Kopia开源免费,各平台都可使用,自定义能力很强,占用计算资源、存储资源均很小,目前看满分。

下文内容

二楼,软件下载安装、库的建立、文件夹快照的建立。

三楼,历史版本查看与文件历史版本下载,历史快照挂载到文件管理器,历史版本恢复,比对两个快照文件变化

四楼,以问答形式总结其它问题。

21 个赞

Kopia安装与新建库

Kopia有两种安装方式,一个是无界面,一个是有界面,大部分人建议安装有界面的版本。Kopia的库地址为Releases · kopia/kopia · GitHub,下载的时候找带UI字样的,如下图。

正常安装,过程略~

打开之后长这样

这是让选择库的位置,可以选择本地(Filesystem)、谷歌(Google colud storage),Amazon S3等云存储、SFTP、WebDAV等。我选择的是存在本地,点击filesystem。

选择一个存放库的文件夹,对位置没有要求。

然后点Next.

输入密码,确认密码,点Create Repository。这里密码要记牢,忘了无法找回。

至此,库已经建立完成。

添加要建立快照的文件夹

建立库后,啥也没有,需要指定要为哪些文件夹建立快照,这样才能保存这些文件夹的历史记录。

①点击New Snapshot

②选择文件夹,此处可输入,也可直接用图形界面。检查文件夹是否正确。

③选择快照间隔,之后点击Snapshot Now(选择文件后面那个绿色按钮)。

④等待完成,新建同步文件夹结束。可以把软件关掉了,让它在后台运行即可。

完成长这样:

2 个赞

历史版本查看

很多时候只需要查看某个文件/夹的某个历史版本,此时用历史版本查看即可。

①点击要查看的快照。

②会显示所有的快照,其中第一列是快照时间,点击想要查看的时间。

③之后就要是一个文件浏览器,可以查看那个时刻的文件夹状态,并可以下载下来想要的文件。

将某个历史版本像U盘一样挂载

为了更方便的查看过去某个时刻的文件夹,可以把那个时刻的文件夹像U盘一样挂载到系统上,例如Z盘。

①接上一项第3步,点击Mount.

②点击Browse即可以浏览

下图为win文件管理器中快照文件,可以像操作U盘一样操作。

查看之后点击上上图中的Unmount即可,相当于拔出U盘。

此外,还可以只挂载特定的子文件夹。

库、子文件夹的恢复/回滚

如果库或某个文件夹乱了,想要恢复某个时刻的样子,可以使用恢复/回滚。接上上图,点击restore,之后选择位置即可。(我还没试,先留着)

快照对比

有时我们想知道两个快照之间修改了哪些文件,这个时候可以用快照对比。

从此位置开始~

可以看到我们有三个快照,我想知道最新的快照和最老的快照之间,我修改了哪些文件。

①点击下图黄色图标,后面会出来一堆很难看的命令,复制前半截,到exe为止。

C:\Users\vkss\AppData\Local\Programs\KopiaUI\resources\server\kopia.exe

②复制要比较的两个快照的root,就那串乱码。

③第①步的命令,diff , 两个快递root,拼装在一块,用空格分开。

组装结果为,C:\Users\vkss\AppData\Local\Programs\KopiaUI\resources\server\kopia.exe diff k164bb1ee8b40cbf40368cc40e19fe3eb k6f4534223bb087a5e14f6bf983e6b97b

④在powershell或cmd窗口粘贴上述命令,按回车即可。

会展示哪些文件夹与文件有修改。文件

6 个赞

以问答形式讨论几个问题。

Q:库文件夹能否在其它设备上打开?

可以打开。可以通过网盘将库传递给远方电脑,电脑爆炸后,硬盘如果没坏,也能恢复库文件。库文件夹包含快照的所有数据。

Q:只能建立一个库么?

可以建立多个库,每个库对应上个库文件夹,对于不同的文件夹,分开放有利于备份。

Q:一个库只能为一个文件夹建议快照么?

一个库可以为多个文件夹建立快照,每个文件夹可以有多个快照。在同一个库里建立的所有文件夹的所有快照,文件都在库文件夹中。

Q:Kopia安全性如何?密码丢了怎么办?

Kopia安全性我认为还行。从实现逻辑上看,数据是高强度加密的,如果密码强度足够高(10位以上简单密码或8位以上复杂密码),目前无破解可能。Kopia密码丢失库无法打开,只能删掉。

Q:保留版本数怎么设置?

以后再写~

Q:以后再补充

3 个赞

5楼我先占上,慢慢写。这里讨论没啥用的Kopia算法、加密、压缩等底层问题。

2 个赞

6楼我也占上,慢慢写,差不多够用了。这里仅占坑

2 个赞

正需要这个功能。多谢。多谢。 :grin: :grin:

1 个赞

谢谢推荐,我之前一直在用Duplicati,也不错。今天试用了下Kopia,感觉各有千秋。Kopia对于备份文件的可视化展示、虚拟磁盘挂载功能,非常赞!

老哥,kopia怎么连sftp呀?我在windows文件浏览器添加网络位置成功连上了ftp,kopia这个不知道怎么填host file什么的

我没使用网络存储,建议看看官方文档。

感谢,一直为备份苦恼,现在多了一项不错的选择

感谢楼主分享!请问有没有方法可以将Kopia的备份和版本控制的优势和syncthing的多端同步的优势结合起来呢。

kopia的库直接用syncthing同步到其它设备就可以了

不过为了安全,我倾向于syncthing同步原文件,各地分别用kopia保存快照。

1 个赞

好东西啊,还可以用来备份其他东西。感谢分享

请问下,CLI的配置文件可以放在程序所在目录吗?
GUI是不是不支持Win7了?

你可以下载 gui 版本,里面就包含了 cli 程序(server 文件夹里)。配置后就会在目录下生成配置文件,这个文件就可以给 cli 用

谢谢,问题是GUI不支持Win7 :rofl:

没有系统来测试,不过官方文档是写支持 win7 的,真的不行就应该去 github 问问作者了

1 个赞

感谢Shaosen的分享