基于 7z 的 NAS 到网盘备份解决方案,支持增量、分卷、加密、压缩

故事背景

曾经,我组建了一个极空间的 NAS。往里面塞了两块 12T 的硬盘,将 20 年来的照片,音乐,电影,游戏、代码、文档都导了进去。虽然两块硬盘互为备份的机制一定程度解决了硬盘可能出现的寿命问题,但心里总是没底,毕竟两块硬盘在物理层面是放在一起的,万一出个什么断电或者天灾什么的,两块硬盘一起坏了怎么办?将数据备份到网盘是一个不错的选择。但问题马上出现,NAS 上的文件至少有几十万到上百万,有些文件的目录层级还藏的很深,还有一些超过 10G 的巨型文件。绝大多数网盘都无法处理这种海量文件和巨型文件的情况,另外,照片库是一个非常隐私的东西,我也不想直接把照片传到网盘上,被大数据精准营销,有些文件,比如游戏和电影资源,还可能会直接被网盘封杀,另外,每隔一段时间,我都需要向网盘上传新增的文件,很难整理出哪些文件是新的,将以上问题总结起来就是——

  1. 要支持海量小文件的备份
  2. 要支持单个过大的文件的备份
  3. 要支持先加密再上传到网盘
  4. 要支持增量备份(你也不想每次备份完都上传几个 T 的文件吧)

首先想到的方案是直接通过 7-Zip 分卷加密压缩,但是这样意味着当我想从网盘中取出某一个文件时,必须要把整整 2~3T 的文件全部下下来。后来我了解到了 Duplicati,这也是很多极空间用户的选择。他可以直接通过 Docker 的方式部署在极空间,实现文件的加密备份,你可以手动设置每个备份文件的最大大小,更方便的是需要某个文件时,只需要从网盘下载相关的分卷即可。但使用以后,我又发现以下两个问题——

阅读更多

CDN 方式引入 Monaco Editor

在前端工程中可以用 @monaco-editor/loader 来引入 Monaco,但有时候我们的前端项目不依赖 Webpack、Vite 等打包工具,如何在普通网页中用纯 CDN 的方式引入 Monaco Editor?

阅读更多

在线工具 - 富文本转 Markdown

只需在以下文本框中粘贴网页或 Word 文档的内容,即可转换为 Markdown 格式!

与网上现有工具相比,这个能支持表格转换!

阅读更多

2025 年了,安卓平板上什么第三方九键输入法最好用?

题外话,我换过好多平板,我理想中的平板是 11 寸,这个大小不至于太重,又不至于屏幕太小,要搭载顶级处理器,玩游戏不卡顿,最好支持解锁 BL。

第一台平板是 iPad Pro 2018 11 寸,这个平板陪伴了我整整 6 年,依然流畅如新,奈何现如今带不动绝区零等大型游戏了,卖掉了。

第二台平板是小米平板 7,太卡!本来澎湃就吃硬件,还用了个 7+ Gen 3,掉帧死机家常便饭,还无法通过小米的解锁考试,卖掉了。

第三台是一加平板 2 Pro,顶级配置,一个 fastboot 命令就能轻松解锁,然而第一次用 13 寸,好重啊,躺着更是没法玩,使用频率都降低了,卖掉了。

第四台也就是现在用的,联想拯救者 Y700,虽然 8 寸是小了点,但毕竟很轻,很容易就接受了。

联想平板系统就像毛坯房,预装的输入法功能实在太少,决定装一个第三方的输入法,于是考虑如下选择:

  • Gboard(谷歌)
  • 百度输入法
  • 搜狗输入法
  • 讯飞输入法
  • 微信输入法
阅读更多

鸿蒙 PC 编译运行 Electron 应用

华为推出的 MateBook Pro 首次搭载了鸿蒙 PC 操作系统,使其能够直接运行鸿蒙手机应用和鸿蒙平板应用,但仅仅这样只能称得上是『大号平板』。

Electron 框架是优秀的跨平台客户端框架,通过改造,鸿蒙 PC 上也能运行 Electron 应用,具体如何操作呢?

阅读更多

bat 脚本打印输出彩色文字

要在 Windows 批处理脚本中打印彩色内容,通常的方式是 echo [32mHello World[0m,但这种方式需要输入特殊字符 ESC(ASCII 码为 27),我试过 Alt+027 的快捷键却怎么也打不出来这个字符,而且这种方式各个颜色的编码也很不好记,分享一种更简单的方法!

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/write-host

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
powershell -Command "Write-Host 'This is Black' -ForegroundColor White -BackgroundColor Black"
powershell -Command "Write-Host 'This is DarkBlue' -ForegroundColor White -BackgroundColor DarkBlue"
powershell -Command "Write-Host 'This is DarkGreen' -ForegroundColor White -BackgroundColor DarkGreen"
powershell -Command "Write-Host 'This is DarkCyan' -ForegroundColor White -BackgroundColor DarkCyan"
powershell -Command "Write-Host 'This is DarkRed' -ForegroundColor White -BackgroundColor DarkRed"
powershell -Command "Write-Host 'This is DarkMagenta' -ForegroundColor White -BackgroundColor DarkMagenta"
powershell -Command "Write-Host 'This is DarkYellow' -ForegroundColor White -BackgroundColor DarkYellow"
powershell -Command "Write-Host 'This is Gray' -ForegroundColor Black -BackgroundColor Gray"
powershell -Command "Write-Host 'This is DarkGray' -ForegroundColor White -BackgroundColor DarkGray"
powershell -Command "Write-Host 'This is Blue' -ForegroundColor White -BackgroundColor Blue"
powershell -Command "Write-Host 'This is Green' -ForegroundColor White -BackgroundColor Green"
powershell -Command "Write-Host 'This is Cyan' -ForegroundColor Black -BackgroundColor Cyan"
powershell -Command "Write-Host 'This is Red' -ForegroundColor White -BackgroundColor Red"
powershell -Command "Write-Host 'This is Magenta' -ForegroundColor White -BackgroundColor Magenta"
powershell -Command "Write-Host 'This is Yellow' -ForegroundColor Black -BackgroundColor Yellow"
powershell -Command "Write-Host 'This is White' -ForegroundColor Black -BackgroundColor White"

其中单引号内是打印的文字内容,ForegroundColor 参数传文字颜色,BackgroundColor 参数传背景颜色,直接传颜色名字,非常方便。

阅读更多