kopia cli中文快速入门指南 1分钟学会

nas和个人电脑最强备份工具kopia的一些记录和技巧以及避坑

kopia和Restic 对比,功能差不太多。最大的区别是kopia自己支持压缩。restic的的压缩依赖文件系统(brtfs/ntfs)或者rclone后端压缩。 rclone的后端压缩目前1.6.1版本还是不稳定状态。
另外kopia 有一个kopiaUI 图形界面,可以在X桌面下更直观的使用。也是他的一个优势。
Kopia的压缩和去重速度都要吊打一众备份软件,restic虽然可以去重,但是只能算第二。
最后kopia的github issues 社区很活跃,我在使用的时候,有几个问题都是从issues找到的答案,或者是别人在issues告知的。

之前一直用的Duplicati 对比起来真的 是渣渣

# kopia,里面有几个概念

  • 1 repository 储存库,可以理解为就是备份目的地,这个目的地 可以是本地硬盘,nas,以及kopia自己支持或者rclone支持的云端
  • 2 repository create 就是储存库 首次使用的初始化,你可以自定义 加密 压缩 版本 目录 结构等 。
  • 3 repository connect 就是去连接指定的储存库,一个初始化过的储存库,可以在 其他设备上用kopia去连接。
  • 4 snapshot 快照,不用解释了吧。
  • 5 source 备份源,必须是本地路径/nas。kopia是以路径来归类管理快照,所以最好ln一下要备份的东西,统一化路径风格,防止乱糟糟的

那么首次使用的时候,先去 初始化一个储存库,然后连接储存库,然后操作快照(备份/挂载/查看/删除/恢复/合并等)
如果不是首次使用,就跳过初始化的步骤即可。

kopia 的后端储存库[也就是储存库] 支持本地目录,nas,s3 webdav 等储存,另外几乎支持所有rclone支持的后端,也开始直接调用rclone来处理。 对webdav也有很好的支持! 那么国内环境下,kopia 就可以利用 alist / rclone 对nas进行备份。 而且是加密+压缩备份,到阿里云盘 这种大容量且不怎么限速的网盘。
这种自己可以控制 管理的方法,比群晖的那个网盘备份香多了。

官网下载的:kopia 是命令行版本 kopia-ui 就是ui版了,两个功能都是完全一样的。

# 几个坑

  • kopia v0.13.0 rc1包括rc1 之前的版本 ,和目前最新的rclone1.6.1 不太兼容,要rc2 或者 0.13.0正式版。鉴于kopia还很年轻,所以如果你当前版本能正常使用用,rclone和kopia谨慎升级。
  • kopia 通过webdav连接alist挂载的阿里云盘的时候,必须打开本地代理。感谢 ericma15

# kopia常用命令记录

# shell中免输入储存库密码

1
export KOPIA_PASSWORD=<密码>

# 连接到webdav

1
2
kopia repository create webdav --url=http://localhost:8080/kopai33 --webdav-username webdav  --webdav-password 123
# 或者connect

# 连接到rclone

1
2
kopia repository create rclone --remote-path="alist-local:/alipan/kopia-test/111"
# 或者connect

# 创建快照 [即:备份一个目录到后端储存库]

要先connect

1
kopia snapshot create /mnt/nas/doc_code

# 查看快照

要先connect

1
kopia snapshot list  /mnt/nas/doc_code

# 删除快照

只会删除这个快照独有的文件

1
kopia snapshot delete <id>

# 从一个快照恢复

建议mount 挂载后用cp sync等,更加直观,而不是这里恢复。

1
2
 kopia snapshot restore <sources>
 restore kffbb7c28ea6c34d6cbe555d1cf80faa9/subdir1/subdir2 sd2

# 挂载

1
 kopia mount [path] [mountPoint]

# 常用实例和常见问题

# 连接到alist中的阿里网盘

1
2
3
4
5
6
7
8
9
export KOPIA_PASSWORD=节点密码 #默认密码
export KOPIA_CHECK_FOR_UPDATES=false # 禁止kopia自动更新
mkdir -p /root/cache_kopia/alist
/root/kopia repository connect webdav \
        --url=http://10.1.1.201:5244/dav/alipan/kopia  \
	--webdav-username=alistUserName  \
	--webdav-password=AlistPSW \
	--cache-directory=/root/cache_kopia/alist \
	--content-cache-size-limit-mb=50

2023-10-09补充:虽然kopia0.14.1和alist v3.28.0 之间可以直连,不需要rclone打通,但是长期使用是否存在问题尚不可知。
暂时的建议 还是rclone中转一下

# 连接到同济等无管理员无api的onedrive

较为稳妥办法是通过rclone 先用webdav连接到onedrive

1
2
3
4
5
6
export KOPIA_PASSWORD=节点密码 #默认密码
export KOPIA_CHECK_FOR_UPDATES=false # 禁止kopia自动更新
mkdir -p /root/cache_kopia/tongji
/root/kopia repository connect  rclone  --remote-path=tongji-webdav:/kopia  \
	--cache-directory=/root/cache_kopia/tongji \
	--content-cache-size-limit-mb=50

实际测试 除了上传速度较慢以及内存占用多一些之外并没有其他问题

# 连接到rclone

1
kopia repository connect rclone  --remote-path=cloudflare:/mydisk/kopia2

# rclone和kopia的兼容

主要是版本之间的兼容性有问题。 kopia < v0.13.0 does not work with any version of rclone > 1.61

# alist和kopia的兼容

注意,alist本身的webdav一直不太完善,初次之外网盘的挂载也不是很稳定。如果kopia连接到alist的时候有问题,请先确保对应的节点可以方法。另外alist 对kopia的支持一直有一些问题,可选的解决方案:

  • alist更新到 v3.28.0 在这个版本中修复了 https://github.com/alist-org/alist/issues/5161 这个错误
  • alist 添加网盘的储存的时候 WebDAV 策略 要选 本地代理
  • 中间使用rclone转发一次
    另外 在使用阿里云盘的时候,注意阿里云盘的接口的一些限制,也会导致kopia这边报错。
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计