Ecrose's Blog

🏠HOME 📑POSTS 👀MESSAGE 🔗LINK 🖇️RSS
https://cdn.jsdelivr.net/gh/2cracer2/oss@master/uPic/backup.png

数据备份方案

2023-04-20 20:32

  • 杂技浅尝
  • 数据备份

备份原则

请遵循 3-2-1 备份原则

  • **3 份副本:**除了原始数据外,你应当至少保证还有另外两份数据的副本。就算单份数据损坏的概率高到了百分之一,三份同时丢失的概率也将下降到百万分之一,当然前提是这三份数据没有放在同一个地方。
  • **2 种存储介质:**除了内部存储(例如电脑自带的硬盘),还应当至少将一份数据存放于外部的存储介质中,例如 U 盘、移动硬盘、磁带、光盘等
  • **1 份异地存储:**至少将一份副本存放于有一定物理距离的异地,以防止因洪水、火灾、地震等原因造成的数据团灭

这个原则在备份这件事上算得上是世界公认的金科玉律,尽管现在还有 4-3-2-1,3-2-2 之类的变种,但对普通人来说,3-2-1 就已经算足够了。

本地备份

多端备份同步

比如 FreeFileSync 这款免费软件,它是一个开源的、支持全平台客户端且有中文界面的备份神器,能够自动将 A 文件夹中的内容,定时地双向同步、或镜像同步、或者增量同步到其他存储设备的 B 文件夹内。

或者 syncthing 支持加密备份到不可信设备,能实时同步,也能定时同步。

小文件同步可用坚果云、dropbox

云端备份

注意备份前加密

通过工具无感加密上传至网盘

  • 如cryptomator
  • 群晖的 cloud sync 有无感的加密上传(群晖本地不加密,网盘数据加密)普通 PC 下载的话 windows 下有解密工具
  • VeraCrypt 动态加密、创建虚拟磁盘 推荐使用cryptomator 附录:
  1. 隐私指南

通过脚本、或者CLI实现

阿里 百度 通过脚本加密并自动上传阿里云盘

支持端对端加密网盘

  • mega
  • plcoud.com
  • icedrive.net
  • sync.com

mac端解决方案

如果是 mac 的话有个更简单的方案
Disk Util 里 CMD + N 创建 New Image ,在这里设置好加密就行
完成后会创建一个文件夹的虚拟磁盘,可以把这个虚拟磁盘放进 OneDrive 之类的同步文件夹里
完美实现云端加密,本地透明的效果

将网盘映射到本地

使用下面这两款免费软件,可以将多个网盘(或者同一个网盘的多个账号)直接映射到本地,如果网速足够,就可以直接将网盘当成一个硬盘使用,在备份和同步体积较小的文档类数据时,体验远比 OneDrive 自带的本地盘功能要好。

  • macOS:Cyberduck
  • Windows:RaiDrive

本地数据加密同步至网盘

Duplicati

Duplicati 是一款开源的数据备份工具,支持 Windows、macOS 和 Linux,支持使用 AES-256 加密备份数据,并上传至本地或云存储,支持 FTP、WebDAV 等协议以及 S3、OneDrive、Dropbox 等网络服务,支持压缩和增量备份、历史版本、加密备份,拥有命令行与 Web 管理界面。

docker-compse 部署
version: "2.1"
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - CLI_ARGS= #optional
    volumes:
      - /path/to/appdata/config:/config
      - /path/to/backups:/backups
      - /path/to/source:/source
    ports:
      - 8200:8200
    restart: unless-stopped

docker 方式部署可能会导致某些文件目录读取不到,所以需要在 volumes 节点下增加映射,例如 opt 映射,如果你也遇到文件目录读取不到的问题,参考上述配置增加 volumes 映射即可。如果需要读取 root 目录,需要把 PUID 和 PGID 改为 0,并且设置 root 的 volumes 映射。

在 docker-compose.yml 文件同目录下执行 docker compose up -d 启动项目,浏览器访问 http://{ip}:8200 或自行配置域名访问。首次进入会提示设置密码,也可以稍后在设置中进行设置。http://192.168.1.152:8200/ngax/index.html#/

之后选择并添加远程备份源。 以 OneDrive 作为例子:

Pasted image 20230415223951.png

特定设备的备份方案

安卓手机

  • google自带的备份 (只能备份相册等相关谷歌系应用,备份不够全面)
  • adb 备份 (adb backup只能备份那些允许备份的应用,adb备份在目标SDK级别为31或更高的最近的应用程序上失败(如果abb是一个生产的而不是一个可调试的应用程序)
    • adb backup  -apk  -shared  -system  -all  -f  backup_apk.ab
    • adb restore backup_apk.ab
  • Neo Backup (是 OAndBackup 的分叉,相比原版它支持了新的安卓系统,拥有新的外观)加密备份应用及数据资料,再通过FloderSync上传至云存储

硬盘进行镜像和克隆

Clonezilla是一个用于Linux,Free-Net-OpenBSD,Mac OS X,Windows以及Minix的分区和磁盘克隆程序。它支持所有主要的文件系统,包括EXT,NTFS,FAT,XFS,JFS和Btrfs,LVM2,以及VMWare的企业集群文件系统VMFS3和VMFS5。Clonezilla支持32位和64位系统,同时支持旧版BIOS和UEFI BIOS,并且同时支持MBR和GPT分区表。

Clonezilla也可以使用dd命令来备份不支持的文件系统,该命令可以复制块而非文件,因而不必在意文件系统。

Linux 文件系统

使用 Btrfs 快照

使用 LVM 快照

使用 rsync

服务器

  • 使用GnuPG进行非对称加密,Sync进行同步,设置定时任务。
  • 配合脚本上传云盘
  • 使用duplicacy或者Duplicati

参考资料

参考链接

mac-mini 折腾

2023-11-06 23:32

命令行的艺术

2022-05-12 00:45

Ecrose

Ecrose

尽心尽力,自有万里长风。

Related Posts

  • vps服务器自动备份实践
  • Port Knocking 端口敲门✊
  • DALLE 教程
  • mac-mini 折腾
  • 命令行的艺术

Categories

  • 杂技浅尝 8
  • 技术 2
  • 数据库 1
  • 杂七杂八 1

Tags

资源 Database 工具使用 数据备份 安全 日常 隐写术

© 2022 Ecrose.

Powered by Hugo Theme - kagome

🌞 light 🌛 dark 🤖️ auto