跨平台备份工具Duplicati

news2024/12/24 9:17:21

在这里插入图片描述

本文软件得到了网友 冷心 的推荐;

什么是 Duplicati ?

Duplicati 是一个免费的开源备份客户端,可将加密的、增量的、压缩的备份安全地存储在云存储服务和远程文件服务器上。支持 Amazon S3IDrive e2Backblaze (B2)BoxDropboxFTPGoogle CloudDriveHubiCMEGAMicrosoft AzureOneDriveRackspace 云文件、OpenStack Storage (Swift)SiaStorj DCSSSH (SFTP)WebDAV、腾讯云对象存储(COS)等!

安装

在群晖上以 Docker 方式安装。

【注意】:强烈不建议用群晖内置的图像方式安装,因为可以选择的源目录比较有限。

命令行安装

docker cli 不仅更快捷,更能方便的指定要备份的源目录

# 新建文件夹 duplicati 和 子目录
mkdir -p /volume2/docker/duplicati/{backups,config}

# 进入 duplicati 目录
cd /volume2/docker/duplicati

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name=duplicati \
   -p 8200:8200 \
   -v $(pwd)/config:/config \
   -v $(pwd)/backups:/backups \
   -v </path/to/source>:/source \
   -e PUID=1000 \
   -e PGID=1000 \
   -e TZ=Asia/Shanghai \
   linuxserver/duplicati:latest

# 示例(老苏是以 root 身份运行的)
docker run -d \
   --restart unless-stopped \
   --name=duplicati \
   -p 8200:8200 \
   -v $(pwd)/config:/config \
   -v $(pwd)/backups:/backups \
   -v /volume2:/source \
   -e PUID=1000 \
   -e PGID=1000 \
   -e TZ=Asia/Shanghai \
   linuxserver/duplicati:latest
  • 关于卷的说明:
文件夹装载路径说明
docker/duplicati/backups/backups存储本地备份的路径
docker/duplicati/config/config存放设置文件
</path/to/source>/source要备份的文件的源路径

因为 Duplicati 采用了 docker 方式部署,所以要把源目录映射到容器中,示例中老苏把 volume2 作为了源;

  • 关于环境变量的说明
可变
TZ设为 Asia/Shanghai
PUID设为 1000
PGID设为 1000
CLI_ARGSCLI 变量

CLI 变量请参考官方文档:https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3"

services:
  duplicati:
    image: linuxserver/duplicati:latest
    container_name: duplicati
    ports:
      - 8220:8200
    hostname: duplicati
    volumes:
      - ./backups:/backups
      - ./config:/config
      - /volume2:/source
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    entrypoint:
      - /init

然后执行下面的命令

# 新建文件夹 duplicati 和 子目录
mkdir -p /volume2/docker/duplicati/{backups,config}

# 进入 duplicati 目录
cd /volume2/docker/duplicati

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8220 就能看到主界面

在这里插入图片描述

如果你是自己一个人用,选 No ,否则就选 Yes,然后设置一个密码

新建一个备份项目

在这里插入图片描述

如果备份位置选择 本地文件夹或磁盘

在这里插入图片描述

当然也可以选择保存到远端,支持的协议很多

老苏选了 WebDAV,备份位置指向了 Alist 中设置的阿里云盘

已经在阿里云盘中建好了 测试 目录

测试连接 正常的话,可以进行下一步

在这里插入图片描述

找到我们之前映射的 source

在这里插入图片描述

假设我们要备份 bitwarden

在这里插入图片描述

映射后的目录应该是 source/docker/bitwarden

在这里插入图片描述

设置备份计划

在这里插入图片描述

一些常规选项,如果默认的话,文件将按 50M 分割

在这里插入图片描述

从安全性考虑,建议采用加密

在这里插入图片描述

到这里任务就建好了

在这里插入图片描述

展开详情

在这里插入图片描述

为了测试,老苏选择了 立即运行 来验证效果

开始备份

在这里插入图片描述

到阿里云盘中刷新,可以看到文件都未超过 50M

在这里插入图片描述

备份完成

在这里插入图片描述

如果同时进行多个任务,可以分别限流

在这里插入图片描述

友情提示:虽然有备份,但是记得定期检查,避免关键时刻掉链子

参考文档

Duplicati
地址:https://www.duplicati.com/

duplicati/duplicati: Store securely encrypted backups in the cloud!
地址:https://github.com/duplicati/duplicati

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flask框架】——27 SQLAlchemy高级

1、排序 order_by方法排序&#xff1a;可以指定根据模型中某个属性进行排序&#xff0c;"模型名.属性名.desc()"代表的是降序排序。 # 根据年龄降序 lst session.query(Student).order_by(Student.age.desc()).all() # 根据年龄升序 lst session.query(Student).…

WinNTSetup V5.3.0 Bata5 单文件版

前言 WinNTSetup 是一款Windows系统硬盘安装器&#xff0c;支持从PE和本地安装系统&#xff0c;支持支持NT内核的系统。 WinNTSetup 包括XP、Win7、Win8、Win8.1、Win10等这些系统。直接从硬盘安装系统&#xff0c;不需要光盘。WinNTSetup 还附加一些系统优化功能&#xff0…

Android---简易的底部导航栏

目录 一、activity_main.xml布局 二、给ViewPager2 创建适配器 三、ViewPager2 数据源 四、MainActivity.java类 1、初始化数据源。 2、ViewPager2 页面改变监听 3、BottomNavigationView 的每个 item 点击的监听 这里简单演示实现效果&#xff0c;实现快速开发&#xff…

mmdetection从入门到精通(一)-汇总目录

&#xff11;.简介 MMDetection 是商汤出品的集成了目标检测&#xff0f;实例分割分割&#xff0f;全景分割几个方面顶级模型组合的,模块化的&#xff0c;基于 PyTorch 的目标检测开源工具箱。是深度学习工作者的必备工具&#xff0c;非常有必要深入掌握。 近期汇总一下从入…

今年最后一场官方活动

阅读本文大概需要 1.6 分钟。2022 年 12 月 26&#xff0c;新型冠状病毒肺炎正式更名为了新型冠状病毒感染&#xff0c;不再纳入《中华人民共和国国境卫生检查疫法》 规定的检疫传染病管理。文字层面上&#xff0c;这意味着我们口中的疫情&#xff0c;结束了。然而我却认为并没…

Django学习 Day9

1.F对象 一个F对象代表数据库中某条记录的字段的信息。 作用&#xff1a; 通常是对数据库中的字段的值在不获取的情况下进行操作 用于类属性&#xff08;字段&#xff09;之间的比较。 语法&#xff1a; From django.db.models import F F(‘列名’)例子: 所有Book数据表中的…

云游戏的2022:破局、新生、元宇宙

文|智能相对论 作者|青月 如果说2021年是「元宇宙元年」&#xff0c;那么2022年更像是元宇宙的「祛魅之年」&#xff0c;在这一年里&#xff0c;原本处在狂奔状态下的元宇宙正在褪去虚火。 在这样的大环境下&#xff0c;由于在实时性、兼容性、无限开创等关键特性的理念上的…

99. 激光炸弹——二维前缀和

地图上有 N 个目标&#xff0c;用整数 Xi,Yi 表示目标在地图上的位置&#xff0c;每个目标都有一个价值 Wi。 注意&#xff1a;不同目标可能在同一位置。 现在有一种新型的激光炸弹&#xff0c;可以摧毁一个包含 RR 个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定…

eclipse中安装ERMaster

eclipse中安装ERMaster 简介 参考网址&#xff1a; https://www.bilibili.com/video/BV1R4411a73T/?p22&spm_id_from333.880.my_history.page.click&vd_source42661b67a37800001020550eb4a4c45e 主要看这 3 集 ERMaster 在 jeesite 官网的介绍项目 参考网址&#x…

systemd(二)单元配置文件

概述 对于系统中的每一个单元&#xff08;unit&#xff09;都有一个配置文件&#xff0c;用于指示systemd如何启动或停止这个单元。 配置文件格式 [Unit]区块 [Unit]区块通常是配置文件的第一个区块&#xff0c;用来定义单元的元数据&#xff0c;以及配置与其他单元的关系。…

多线程模式下保证事物的一致性

目录前置InsertBatchSuccessServiceImpl.javaInsertBatchErrorServiceImpl.java效果图前置 在一些特殊的场景下, 我们需要一些特定的操作. 比如我有一个接口, 做如下操作, 需要保持事物的一致性, 即: 全部成功则提交, 一个异常则全部回滚: 1.insert订单、(耗时1秒) 2.insert订单…

4、MYSQL常用函数(字符串函数)

目录 1、concat函数&#xff1a; 2、insert(str,x,y,instr)函数&#xff1a; 3、lower(str)和upper(str)函数&#xff1a; 4、left(str,x)和right(str,x)函数&#xff1a; 5、lpad(str,n,pad) 和rpad(str,n,pad) 函数&#xff1a; 6、ltrim(str)和rtrim(str)函数&#xff…

【大厂高频真题100题】《除自身以外数组的乘积》 真题练习第19题 持续更新~

除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且在 O(n) 时间复杂度内完成…

微软补丁包下载

Microsoft Update Cataloghttps://www.catalog.update.microsoft.com/Home.aspxMicrosoft Update CatalogMicrosoft Update Cataloghttps://www.catalog.update.microsoft.com/Home.aspx

城市通信管线资源管理解决方案

01 背景 随着新基建发展&#xff0c;智慧项目如火如荼&#xff0c;网络畅通、高速成为了刚需&#xff0c;城市通信网络管线资源重要性不言而喻&#xff0c;在实际项目中&#xff0c;我们也不难发现有关于“通信网络管线管理”“光缆资源管理”项目愈发增多&#xff0c;大多客户…

(五)JSP

一、JSP 概述 JSP&#xff08;全称&#xff1a;Java Server Pages&#xff09;&#xff1a;Java 服务端页面。是一种动态的网页技术&#xff0c;其中既可以定义HTML、JS、CSS等静态内容&#xff0c;还可以定义Java代码的动态内容&#xff0c;也就是 JSP HTML Java 。二、JSP …

基于注解的AOP之准备工作以及各种通知

目录 基于注解的AOP之准备工作以及各种通知 1. 技术说明 2. 准备工作 ①添加依赖 ②准备被代理的目标资源 3. 创建切面类并配置 在Spring的配置文件中配置&#xff1a; ​​​​​​4. 各种通知 各种通知的执行顺序&#xff1a; 基于注解的AOP之准备工作以及各种通知 …

C++【B树】【B+树】

文章目录一、什么是B树1.为什么要存在B树&#xff1f;2.B树的规则二、B树的插入三、B树的实现时间复杂度四、B树1.B树的分类过程五、B*树六、B树系列的应用1.MyISAM2.InnoDB一、什么是B树 相比于我们别的数据结构&#xff0c;我们的B树更加适合进行外查找 B树也可以进行内查找…

元启发式算法-模拟退火算法MATLAB实现

元启发式算法-模拟退火算法MATLAB实现 模拟退火介绍 模拟退火算法来源于固体退火原理&#xff0c;是一种基于概率的算法&#xff0c;将固体加温至充分高&#xff0c;再让其徐徐冷却&#xff0c;加温时&#xff0c;固体内部粒子随温升变为无序状&#xff0c;内能增大&#xff0…

SpringBoot系列教程之定义接口返回类型的几种方式

本文节选自 《Spring WEB专栏》 WEB系列】 定义接口返回类型的几种方式 实现一个 web 接口返回 json 数据&#xff0c;基本上是每一个 javaer 非常熟悉的事情了&#xff1b;那么问题来了&#xff0c;如果我有一个接口&#xff0c;除了希望返回 json 格式的数据之外&#xff0c…