使用Duplicati备份Debian,Ubuntu,Linux Mint桌面和服务器

Duplicati是功能齐全的开源备份软件,可在Linux,MacOS,Windows和Synology上运行,可让您将本地文件和目录备份到云(例如Amazon S3,Dropbox,Google Drive,OneDrive等) )以加密形式并安排自动备份。本教程将向您展示怎样在Debian,Ubuntu和Linux Mint上安装和使用Duplicati。

您也可以在基于Debian / Ubuntu的Linux发行版中应用本教程,例如MX Linux,Linux Lite,Elementary OS等。

复制功能

  • 免费和开源(GPL许可)
  • 跨平台:可在Linux,MacOS,Windows和Synology上运行。
  • 可以压缩和加密备份。
  • 通过增量备份节省空间。
  • 支持多种云存储服务,例如Dropbox,Google Drive,OneDrive,box.com,Mega,Amazon S3,BlackBlaze,Rclone和Sia分散存储网络。
  • 适用于SSH / SFTP,WebDAV,FTP。
  • 支持本地备份,例如外部USB设备,NAS(网络附加存储)和Samba共享文件夹。
  • Duplicati使用rdiff,zip,AESCrypt和GnuPG等标准组件,即使Duplicati不可用,用户也可以恢复备份文件。
  • Duplicati具有图形用户界面和命令行界面,因此您可以在台式机和服务器上使用它。
  • 内置的备份调度程序和自动更新程序。
  • 中断的备份可以恢复。
  • 它可以检测损坏的备份。
  • 响应式Web界面使您可以从任何地方(包括手机)访问Duplicati。

Duplicati是Duplicity备份软件的C#重新实现。

怎样在Debian,Ubuntu,Linux Mint Desktop或服务器上安装Duplicati

Duplicati未包含在软件存储库中,因此我们需要访问Duplicati官方网站并下载 .deb 文件。不过v2.0仍处于测试阶段,自2017年以来使用安全可靠。

如果使用无头服务器,请使用以下命令在终端中下载Duplicati。

wget https://github.com/duplicati/duplicati/releases/download/v2.0.4.23-2.0.4.23_beta_2019-07-14/duplicati_2.0.4.23-1_all.deb

下载后,打开文件管理器并转到下载目标目录。要安装此软件,只需右键单击 .deb 文件并选择 Open With Software Install 从上下文菜单中。

在Ubuntu上安装duplicati

如果您的上下文菜单不提供此选项,则可以从命令行安装此.deb文件。打开终端窗口并转到下载目标目录。例如,我将文件下载到了 Downloads 文件夹位于我的主目录下,因此我运行以下命令。波浪号(〜)代表主目录。

cd ~/Downloads/

然后使用APT软件包管理器按如下所示进行安装。 ./ 代表当前目录。

sudo apt install ./duplicati_2.0.4.23-1_all.deb

提示:这是我想向Linux初学者展示的一个技巧,输入后 sudo apt install ./duplicati,您可以按 Tab key.Linux将自动为您完成文件名。

重复服务器

Duplicati主要用C#编写,因此APT软件包管理器将自动安装Mono(这是一个.NET兼容框架),以便在Linux上运行Duplicati。

Duplicati是作为服务安装的,意味着它在后台运行。但是,Duplicati在安装后不会自动启动。您可以通过在终端中发出以下命令来启动Duplicati。

sudo systemctl start duplicati

运行以下命令以在引导时启用自动启动。

sudo systemctl enable duplicati

现在,您可以使用以下命令检查其状态:

systemctl status duplicati

无头复制品

提示:如果上述命令没有立即退出,您可以按Q键来获得对终端的控制权。

怎样使用Duplicati

启动duplicati后,它将侦听localhost接口的端口8200,因此您可以通过键入以下内容来访问Duplicati Web界面 127.0.0.1:8200 (如果您使用的是远程无头服务器,请在本文结尾处查看怎样设置Apache / Nginx反向代理并启用HTTPS。)

首先,选择您的计算机具有多个帐户还是单个帐户。

启动重复服务器

点击 Add backup 创建您的第一个备份并选择添加备份的方式。如果您以前从未使用过Duplicati,则需要选择默认选项: Configure a new backup

复制配置新备份

在下一页上,给备份命名,您可以使用任何喜欢的名称,例如文件夹名称加上备份日期。如果要将备份发送到云存储提供商,建议启用加密。默认的加密方法: AES-256点击 Generate 按钮可创建用于加密备份的强密码短语。要解密备份时,也需要使用此密码短语。

重复AES 256加密

因此,必须将此密码存储在安全的地方,例如密码管理器中,这一点非常重要。如果丢失了该密码,则无法恢复备份。

下一步是选择存储数据的位置。在本教程中,我选择Dropbox,然后在Dropbox中命名要存储数据的路径。

复制备份目的地保管箱

接下来,点击 AuthID 链接。您将被带到Dropbox的网站上授予权限,因此Duplicati可以将数据发送到您的Dropbox帐户。

重复保管箱Oauth

允许Duplicati访问您的Dropbox帐户后,AuthID凭据将自动放入Duplicati Web界面的AuthID字段中。您现在可以点击 Test connection 按钮以确保Duplicati可以访问备份目标并创建文件夹。

在下一步中,选择计算机上要备份的文件夹。我选择备份主文件夹。

重复的源数据

您可以在“排除”部分中排除隐藏文件,系统文件和临时文件,这正是我的主文件夹所需要的。

重复排除子目录过滤器

您也可以单击“添加过滤器”链接以排除特定的文件或子文件夹。例如,我不想将我的VirtualBox机器备份到Dropbox,因此我创建了一个过滤器以排除名称包含“ VirtualBox”的目录。

duplicati排除名称包含的目录

在计划页面上,您可以设置备份的运行频率。如果禁用计划程序,则需要每次手动运行备份,这不是我建议的方式,我只是使用默认设置。如果您使用Duplicati在服务器上,您可能希望在服务器上的活动较少时运行备份。

重复时间表

如果您使用台式机或笔记本电脑,则Duplicati如果错过了计划的备份,则在打开计算机时将运行备份。对于始终在线的服务器,Duplicati将在计划的时间运行备份。

最后,您可以将卷大小的值保留为默认值,然后选择备份保留策略。我选择保留所有备份。不要忘记保存配置。

重复的卷大小

手动运行备份

您可以等待Duplicati在计划的时间运行备份,或者单击“立即运行”链接并立即运行备份。

重复运行备份

您还可以导出配置,以便能够在另一个Duplicati实例上还原备份。

复制导出配置

怎样还原备份

我也在另一台计算机上安装了Duplicati,然后将第二台计算机还原为备份。在Duplicati主屏幕上,单击左侧的Restore按钮,然后从配置中选择Restore。

重复还原

在下一页上载配置文件并输入密码,然后单击导入。

从备份配置还原

接下来,它将显示备份配置。您可以单击测试连接按钮以查看其是否有效。

重复还原备份

在下一页上,您可以看到加密选项。 Next

重复密码

如果您在下一页看到“找不到”错误,请不要慌张。您需要在搜索字段中输入文件夹路径,然后单击“搜索”按钮,然后可以在大矩形框中选择该文件夹。继续按钮。

复制还原文件

最后,配置还原选项,我选择将文件还原到原始位置,而倾向于覆盖现有文件。让我解释一下这意味着什么。

  • 假设我的第二台计算机有两个名为 /home/linuxbabe/film//home/linuxbabe/videos/
  • 备份仅包含 /home/linuxbabe/videos/ 文件夹。
  • 如果我在 /home/linuxbabe/videos/ 文件夹在我的第二台计算机上,还原过程将删除该新视频。
  • /home/linuxbabe/film/ 第二台计算机上的文件夹将完好无损。

复制还原选项

配置还原选项后,单击“还原”按钮。

怎样为Duplicati设置Apache / Nginx反向代理

如果将Duplicati安装在远程无头服务器上,则可能要从域名访问Web界面并启用HTTPS。我们将使用Apache或Nginx Web服务器设置反向代理。

阿帕奇

如果您更喜欢使用Apache Web服务器,请从软件存储库安装apache2软件包。

sudo apt install apache2

启动Apache并启用自动启动。

sudo systemctl start apache2

sudo systemctl enable apache2

要将Apache用作反向代理,我们需要启用 proxy 模块和标头模块。

sudo a2enmod proxy proxy_http headers proxy_wstunnel

现在,使用命令行文本编辑器(例如Nano)为Duplicati创建虚拟主机文件。

sudo nano /etc/apache2/sites-available/duplicati.conf

将以下行复制并粘贴到文件中。 duplicati.example.com 您的真实域名。您还应该在DNS管理器中为此子域添加DNS A记录。


   ServerName duplicati.example.com
   ErrorDocument 404 /404.html

   ProxyPass / https://127.0.0.1:8200/
   ProxyPassReverse / https://127.0.0.1:8200/

   ErrorLog ${APACHE_LOG_DIR}/duplicati_error.log
   CustomLog ${APACHE_LOG_DIR}/duplicati_access.log combined

保存并关闭文件,然后启用该虚拟主机。

sudo a2ensite duplicati.conf

重新启动Apache

sudo systemctl restart apache2

现在您可以通过以下方式访问Web界面 duplicati.example.com在网络界面中执行任何操作之前,我们应启用HTTPS。

Nginx的

如今,Nginx作为Web服务器和反向代理变得越来越流行。使用以下命令在Debian,Ubuntu或Linux Mint上安装Nginx。

sudo apt install nginx

启动Nginx并启用自动启动。

sudo systemctl start nginx

sudo systemctl enable nginx

现在,使用命令行文本编辑器(例如Nano)为Duplicati创建虚拟主机文件。

sudo nano /etc/nginx/conf.d/duplicati.conf

将以下行复制并粘贴到文件中。 duplicati.example.com 您的真实域名。您还应该在DNS管理器中为此子域添加DNS A记录。

server {
  listen 80;
  server_name duplicati.example.com;

  access_log /var/log/nginx/duplicati_access.log;
  error_log /var/log/nginx/duplicati_error.log;
  location / {
     proxy_pass https://127.0.0.1:8200;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

保存并关闭此文件,然后测试Nginx的配置。

sudo nginx -t

如果测试成功,请重新加载Nginx。

sudo systemctl reload nginx

现在,在浏览器的地址栏中输入 duplicati.example.com 并且您应该能够访问Duplicati Web界面。在Web界面中执行任何操作之前,我们应该启用HTTPS。

怎样启用HTTPS(对于无头服务器)

为了通过域名访问Duplicati Web界面时加密HTTP流量,我们可以通过安装由Let's Encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Debian,Ubuntu或Linux Mint上安装Let's Encrypt客户端(certbot) 。

sudo apt install certbot

如果使用Apache,则还需要安装Certbot Apache插件。

sudo apt install python3-certbot-apache

并运行此命令获取并安装TLS证书。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email (email protected) -d duplicati.example.com

如果您使用Nginx,请安装Certbot Nginx插件。

sudo apt install python3-certbot-nginx

接下来,运行以下命令以获取并安装TLS证书。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email (email protected) -d duplicati.example.com

哪里

  • --nginx:使用nginx插件。
  • --apache:使用Apache插件。
  • --agree-tos:同意服务条款。
  • --redirect:通过301重定向强制HTTPS。
  • --hsts:在每个HTTP响应中添加Strict-Transport-Security标头。强制浏览器始终对域使用TLS。防止SSL / TLS剥离。
  • --staple-ocsp:启用OCSP装订。有效的OCSP响应将装订到服务器在TLS期间提供的证书中。

现在应该获得证书并自动安装。

重复https

您可以通过HTTPS访问Duplicati Web界面(https://duplicati.example.com)。您应该立即在 Settings 菜单。

重复的Web界面密码验证

总结

我希望本教程可以帮助您安装和使用Duplicati来备份Debian,Ubuntu或Linux Mint系统。与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。