本文将向您展示如何使用UrBackup和Linux Deploy在旧的Android手机上构建备份服务器。旧手机的污染问题众所周知。我有一部旧手机。虽然外壳开裂磨损,但性能还是很好的,所以打算废物再利用。你的旧手机很可能没那么旧(你会像换手机一样一两年换一台电脑吗?)
有4-8个处理器,4GB左右内存,内置UPS。只需增加一个外置硬盘,就可以备份整个家庭网络!
警告:这只是一个尝试可能性的项目。因为我们用的是安卓,所以要克服一些困难,很多方面会受到限制。这可能不是备份家庭网络的最简单方法,也不是UrBackup的最佳用途。但是设置完成,服务器可以正常运行之后,就可以轻松管理多台机器的备份,添加存储了。这里有一些限制:文件系统只能使用EXT4。这是唯一兼容UrBackup和Android的文件系统。所以没有文件系统级压缩等功能。
不能从chroot环境中直接调用Systemd。我们将安装一个简单的启动脚本,启动UrBackup服务,并使用pkill停止该服务。此外,我们将添加一个cronjob,以便在系统启动时启动服务。
UrBackup主要基于Windows。虽然它提供了完整的Linux备份功能,但其Linux版本的完整镜像仍处于beta状态。我们将在这里安装稳定版本,因此我们的服务器无法支持Linux客户端的完全镜像备份。但是,您可以在客户机上创建备份映像,然后备份包含这些映像的目录。最后,UrBackup团队也在开发Mac客户端支持,但也是测试版。对于我来说,我没有Windows服务器,也不想备份Windows笔记本电脑,所以我只用Linux服务器上的UrBackup。
Linux Deploy提供有限的发行版和版本支持。我试过Centos7、Ubuntu 18.04和Debian 10,其中只有Debian 10可以运行不出错。UrBackup对Debian的支持也是最好的(其他发行版都没有。ARM64的deb封装)。
如果你打算和我一起尝试,请看下面的行动计划:root手机。具体做法请参考相关文件,此处不再赘述。
安装Linux Deploy和deploy Debian Buster。
安装UrBackup服务器。
连接客户端。
记住,本教程使用了非常特殊的配置,大部分是为了适应在chroot环境下在Android上使用Debian。准备工作root安卓手机我的手机是Pixel 4a(8核CPU,6GB内存)。手机具体型号应该关系不大,但是不同型号可能会遇到不同的问题。如果你的手机是近五年发布的,规格应该没有问题。我建议至少4核CPU,2GB内存,对于大多数家庭网络应该够用了,但是备份需求你一定要想清楚。另外,别忘了Android操作系统本身也会占用一些资源。如果你打算通过Magisk root你的手机,请注意:确保你使用的boot.img文件与你手机当前的bootloader版本相匹配。
如果您使用的是Android 11,Magisk程序无法正常运行,请降级到Android 10,然后重试。一整天都在Pixel 4a上玩Android 11。
如果你不想使用Magisk,请小心使用其他工具。还有许多其他应用程序可能包含恶意软件。CF-Auto-Root也是一个不错的Root工具,但是请确认下载源码的安全性。
这个应用程序可以在Debian server上运行chroot环境。你可以从GitHub下载最新版本。不再维护app store中的版本。BusyBox应用程序可以为Linux部署提供Unix工具。有几个“忙箱”应用程序可用,但只有这个版本与Linux部署兼容。你可以从GitHub下载最新版本。不再维护app store中的版本。充电线手机的充电线。从另一台机器通过SSH连接服务器虽然理论上可以在手机上安装$ Termux或者SSH应用进行操作,但是通过键盘操作肯定更容易。可选设备(强烈建议)虽然从技术角度来看,您可以将备份存储在SD卡上,但不建议这样做。SD卡速度慢,不可靠,不能长时间处理连续写入。如果打算备份到SD卡,估计一年内就会损坏(数据量大的话,一个月内甚至会出错)。带USB线的外置HDD/SSD的大小和写入速度取决于你个人,但比起存储和速度,我更在乎可靠性。如果你有很大的存储空间(几百甚至几千GB),速度很重要。在这种情况下,写入速度很关键,因为你可以及时完成备份。为了可靠,必须考虑品牌。如果您使用廉价的驱动器,您应该为备份期间的I/O错误做好准备。USB扩展坞可能需要支持micro USB或USB-C,具体取决于您的手机。这个扩展坞应该至少有一个USB端口,可以连接外部驱动器,还有一个充电端口,但我建议选择一个带以太网适配器的扩展坞。可以通过WiFi运行服务器,但是以太网更快更可靠。以太网电缆如果您在以太网上运行服务器,您需要准备一根以太网电缆。步骤1:安装Linux Deploy并部署Debian Buster1-1。root完手机后,打开GitHub,下载。Linux的apk包Deploy和BusyBox,安装这两个应用。1-2.安装后,打开BusyBox。在安装过程中,记录BusyBox的安装位置。下图中,BusyBox安装在'/system/xbin '中。我们以后会用到这个位置。1-3.打开Linux Deploy并单击右下角的设置图标。完成以下设置:架构所有安卓手机都是AARCH64/ARM64。确保显示“arm64”(或其他发行版的“aarch64”)。安装路径的默认值是“$ {外部存储}/linux.img”。这是你的SD卡。你可以留着它(你可以做覆盆子馅饼)。但是,如果SD卡没有正确插入或格式化,安装将会失败。我建议将其安装到您的内部存储中。我假设你不会用手机做其他事情,因为它需要一直插着电源。图片大小(MB)我建议至少保留15 GB,但请确保给Android留足存储空间。这个空间会占用内部存储,所以最后剩下的空间可能没有50 GB那么多。如果初始化系统没有设置为“sysv”,那么cronjobs在启动时不会运行。挂载如果不担心未来的存储扩展,只需要在挂载外部块设备时将其路径直接添加到挂载点即可。如果您计划将来扩展存储,可以考虑逻辑分区。我们在这里加载的设备可以在启动时直接访问,但是不能用于分区和格式化。但是,请记住,当手机重新启动时,块设备的名称(/dev/block/sdX)可能会发生变化,因此您可能需要在重新启动时检查/更新此配置。如果挂载一个逻辑卷,其名称不会改变,也不需要检查。如何找到一个外部块设备的路径是在Android上。可以通过“/dev/block/sdX”(而不是“/dev/sdX”)找到块设备。要确定哪个sdX设备是外部块设备,您需要在插入该设备的服务器上运行“lsblk”。然后搜索各种设备,看看哪个和你的一致(存储容量/现有分区)。如果您在启动后插入设备,它可能是最后一个设备。
注意:装入块设备后,必须先卸载或关闭服务器,然后才能物理断开块设备。如果您在没有卸载的情况下断开块设备,您可能会丢失所有数据。1-4.回到主页,打开左上角的菜单。选择“设置”并向下滚动至“路径变量”。这是你安装BusyBox的地方。设置“路径变量”后,选择“更新环境”(更新环境变量)。1-5.返回主页,打开右上角的菜单。点击“安装”。您将看到安装的实时日志。完成后,日志将以“部署”结束。选择屏幕左下角的“开始”。Debian服务器运行在Android手机上!步骤2:安装UrBackup服务器2-1。SSH到新部署的服务器。IP地址和手机一样,端口是22。您可以使用步骤1-3中设置的凭据登录。本教程的其余部分假设您以root用户身份登录。打开Linux部署,你会看到你的IP: 2-2。更新系统。Apt更新apt升级-y apt安装wget 2-3。下载。城市备份的deb包。
Wget3359hndl.urbackup.org/server/2.4.13/urbackup-server _ 2 . 4 . 13 _ arm 64 . deb这是最新的稳定版本。
2-4.创建备份目录。在这个例子中,我将备份目录设置为“/mnt/backup”。如果装载存储,则目录已经创建;如果没有,请创建一个目录:mkdir -p /mnt/backup更新权限:
ChownUrBackup/mnt/backupchgrp UrBackup/mnt/backup允许urbackup写入此目录。
2-5.安装启动脚本。我们无法在chroot环境中调用systemd,所以需要手动启动服务:/usr/bin/urbbackupsrvrun-config/etc/default/urbbackupsrv-no-console time为了避免每次都输入这个命令,我们可以创建一个脚本:
将它复制到以下文件中:
#!/bin/sh/usr/bin/urbbackupsrvrun-config/etc/default/urbbackupsrv-no-console time保存并退出。
添加执行权限:chmod 755/usr/bin/urbackupsrv-start 2-6。启动服务。
Urbackupsrv-start该命令将启动服务器的日志。您可以通过按CTRL-C来停止服务,因此您需要打开另一个SSH会话。
如果你想停止这项服务,只要杀死它:pkill urbackup2-7。添加计划作业。
由于我们无法以传统方式“启用”UrBackup服务,因此我们需要设置一个计划作业来启动该服务。此外,如果您断开外部块存储或重启手机,备份目录的权限可能会恢复。为了确保在重新启动时保留这些设置,我们需要添加计划的作业。打开crontab: crontab-e以添加作业:
@ reboot chownurbackup[full/path/to/backup _ directory]chgrp urbackup[full/path/to/backup _ directory]urbackupsrv-start保存并退出。
2-8.打开Web界面。通过Web浏览器导航到服务器的端口55414:http://your _ server _ IP:55414。步骤3:连接客户端3-1。单击屏幕右下角的“添加新客户端”:3-2。点按“在NAT后添加新的互联网客户端/客户端”,并输入新客户端的名称:这是新客户端的主机名。3-3.安装客户端。对于Windows客户端:按照“下载预配置的Windows客户端安装程序”中所述安装客户端。对于Linux客户端:如有必要,在顶部记下“默认认证密钥”。登录客户端运行这个安装脚本:(不要运行服务器提供的脚本)TF=$(mktemp)wget ' https://hndl . urbackup . org/client/2 . 4 . 11/urbackupclientlinux 2 . 4 . 11 . sh '-o $ tfsudosh $ TF;Rm -f $TF(查看最新的客户端下载。在安装过程中,脚本会要求您选择快照机制。对于“LVM-逻辑卷管理器快照”,请输入“2”:安装完成后,请确认客户端运行正常:
服务UrbackUpClientBackend状态如果客户端没有运行,请运行以下命令:
服务UrbackUpClientBackEnd Start最后,通过以下命令将客户端连接到服务器:
urbackupclientctlset-settings-kinternet _ mode _ enabled-v true-kinternet _ SERVER-v ' YOUR _ SERVER _ IP '-kinternet _ SERVER _ port-v ' 55415 '-k computer NAME-v ' YOUR _ CLIEN T _ NAME '-k Internet _ authkey-v ' YOUR _ default _ authentic ation _ key '请确保' YOUR_CLIEN T _ name '与3-2中设置的主机名相同,并且' YOUR _ default _ authentic ation _ key '是在服务器前面生成的密钥。
3-4.配置服务器。回到Web界面,你会发现客户端并没有上线。点击顶部导航栏的“设置”:点击“设置”页面的“互联网”选项卡,检查以下设置:(如果所有客户端都是本地的,可以取消“通过互联网进行映像备份”和“通过互联网进行完整文件备份”。)滚动到底部,然后单击保存。3-5.设置备份目录。在“设置”页面上,单击客户端设置。选择“此客户端的单独设置”,并在“文件备份”下的“要备份的默认目录”中设置要备份的目录。如果要添加多个目录,可以使用分号“;”分开。您也可以在此设置备份间隔。点击底部的保存。对于Linux客户机,还可以从客户机的命令行设置重新启动服务器:urbackupclientctl add-backup dir-dfile _ path:
pkillurbackupurbackupsrv-start 3-6。再次登录Web界面。
到目前为止,客户端已经连接。“文件备份状态”中可能会显示“未配置备份路径”,但没关系,它会一直显示到第一次备份完成。另外,请注意,如果您连接到Linux客户端,则不支持镜像备份。但是,您可以通过Linux客户端运行镜像备份,并设置备份映像的目录。接下来,你可以尝试备份!审核编辑:李倩
标签:手机服务器备份