Naive Server Backup

当私有维护的服务器变多之后,以及考虑到服务器厂商的不稳定性(例如跑路),保障服务器上起码有一个备份策略是非常有必要的。 存储服务搭建 之前我的做法是通过 tailscale 把服务器上的关键文件夹打包 scp 回家庭服务器上,但是这种得控制权限(设置 ssh 相关的一些参数,后面如果有机会的话可以再分享)),以及每个服务器都得配置,也是挺麻烦的。而且我也担心这样一个服务器暴露在公网上面万一被人爆破了就什么数据都丢了(例如我其中某一台服务器被黑了那么我家庭环境下所有东西都没了)。因此借这次机会尝试一下别的方案,拍脑袋想了一个: 路由是通过端口转发来实现外网到内网端口的映射的。 Minio 是一个自建的 S3 服务,兼容 AWS S3 协议,所以市场上大部分语言的大部分 SDK 都可以直接请求,那么备份工具只要是支持 S3 的也就可以直接配置使用了。因为我有自己的 NAS 和 公网 IP,因此我的服务放在了家里,且因为我的 NAS 本身为了数据的冗余就做了两块盘的镜像,因此我只需要单实例的 Minio 容器即可,不用考虑冗余。 参考 https://min.io/docs/minio/container/index.html 部署即可 Docker compose 如下 version: "3.8" services: minio: image: quay.io/minio/minio container_name: minio networks: - my_network volumes: - /mnt/data/Minio:/data restart: unless-stopped command: - server - /data - --console-address - ":9001" env_file: - ./data/envs/minio.env caddy: image: iarekylew00t/caddy-cloudflare restart: unless-stopped container_name: caddy extra_hosts: - "host....

April 30, 2024 · 9 min · 1839 words · Me