家庭服务器的备份工具选择

家庭服务器的备份工具选择

[!summary]+
在搭建了 Immich 服务之后,考虑到数据本身的重要性,又对硬盘本身的寿命和各种数据安全的场景有所顾虑,对加密备份的需求就浮出水面了,希望能有一个备份的预案来对抗各种数据风险,因此有本篇文章,对各种备份工具做简单调研和选择。

image.png

👾Intro 调研对象介绍

👍出场选手介绍,节选来自以下网站的备份方案:awesome-sysadmin-backup

为了备份大量包含隐私的图像信息,这里最基础的需求有以下几点:加密支持云端存储服务/Webdav,增量备份免费

额外如果能够支持以下的需求则额外加分:压缩去重平台一致性用户界面友好(备份状态检查等)

🏓Compare 特性对比

Name PSWD Zip Webdav Add Type ui Consis free rate
kopia y y y y Full y y y 🔥🔥🔥🔥🔥
urbackup y n n y C/S y y y 🔥
restic y n r/o y CLI n y y 🔥
duplicity y n y y CLI n n y 🔥🔥
duplicati y n y y Full y n y 🔥🔥🔥🔥
duplicacy y y y y Full y- y y- 🔥🔥🔥🔥🔥

linux下载命令之Wget和Curl

linux下载命令之Wget和Curl

想要通过命令行直接下载文件,通常想到的就是下面的两个工具:wget 和 curl,下面简单介绍一下两者的使用。

Wget

wget 全称为 web get ,其基本用法为:wget [-para] url ,常用的参数有以下几种:

  • -O 指定下载文件的保存名称
  • -b 为后台下载模式
  • -P 下载到指定目录
  • -c 支持断电续传
  • -p 下载页面内的所有资源、包括图片视频等
  • -r 递归下载
  • -t 最大尝试次数
1
2
3
4
# 默认无需参数的情况下即会将文件下载到当前文件夹下。
# 也是最常见的用法,可以加入-c避免下载中断
wget url
wget -O file.tgz url

参考 Man Page 或者 ExplainShell 可以找到完整的参数列表;支持从文件中读取 url ;将 log 写入指定的文件等等功能;

可以看出 wget 是一个简单,专职的下载利器,无论是用来下载安装包还是 pdf 之类的东西是一个相当方便的下载工具。


Terminal multiplexer Zellij

Terminal multiplexer Zellij

Tmux 作为一款优秀的终端复用器,前面已经介绍过,这里在介绍一款有着相同功能的平替,个人认为 zellij 的 UI 各方面的设计,使得其相比于 Tmux 有着更低的入门难度,也避免了需要记大量快捷键,因此这里介绍一下该工具。

Zellij 是一款终端复用器,有什么功能可以完全参考 Tmux ,还支持了许多有趣的特性和自定义 Layout 等功能(可能后续用到的话会完善该部分笔记),详细的可以参考官网的介绍,接下来就简单的介绍一下安装和一些自定义的 Alias。

Install 安装

Zellij 是基于 Rust 编写,因此在安装之前需要安装 rust 和 cargo(类似 rust 的包管理器),安装可以参考 Rust 官方网站(推荐) | The Cargo Book | Rust Wiki CN

官方网站中介绍了 WSL 的安装指令如下:

1
2
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#--proto以及--tlsvl在Linux或者Macos安装的时候可以忽略

安装完成后可以使用如下命令,基于 Cargo 安装 zellij:

1
cargo install --locked zellij

如果出现了问题也可以尝试先更新 rust

1
rustup update