自动备份服务器数据到 NextCloud

突发奇想:在 NextCloud 创建一个 File drop 分享,然后写一个打包上传脚本,就可以把它当备份服务器用啦。

功能:

  • 分别备份多个源目录到 tar 文件并上传到 NextCloud share;
  • 每周上传完整备份,每天上传增量备份(利用 tar 增量备份);
  • 只需要 NextCloud 的 File drop 链接,由于 File drop 只能用于上传,禁止列出/下载文件,脚本泄露不会造成其它数据的泄露。

使用 Btrfs 作为虚拟磁盘文件的底层存储

(2022-05-12 更新)

将虚拟磁盘文件存储在 Btrfs 文件系统中具有几个优点:

  • Btrfs 的数据透明压缩功能可以节省硬盘空间;
  • Btrfs 的 reflink(共享数据块) 和 subvolume snapshot(子卷快照)可用于给虚拟磁盘创建快照;
  • Btrfs 的 Copy-on-Write (CoW) transaction 机制和可保证虚拟磁盘文件的一致性,在大量随机写入时可以免除频繁的硬盘 flush 操作。