以前是Linux Android备份。
Open Android Backup是一个微型的Shell脚本和扑朔迷离的应用程序,它可以安全地备份Android设备,而无需供应商锁定或使用封闭源软件,或者使用封闭式软件可以使您的数据处于危险之中。它基于ADB,但不使用弃用的adb backup命令。该项目在Windows,MacOS和Linux上工作。

重要的是: master分支保留用于开发。如果您正在寻找下载,请转到发布或选择标签。
以下数据类型可以自动恢复回设备。
仅通过使用7 ZIP打开备份存档,并且目前无法恢复到设备,才能查看以下数据类型。
这些事情是大多数人想要确保安全的大多数,但是每个人都有不同的期望和要求,因此欢迎建议。
sudo apt update; sudo apt install p7zip-full adb curl whiptail pv bc secure-delete zenity 。在Fedora上,使用此处的说明启用RPM Sphere Repo:https://rpmsphere.github.io/然后执行此命令sudo dnf install p7zip p7zip-plugins adb curl newt pv secure-deletebackup.sh 。警告:MACOS测试有限,请报告您遇到的任何问题。
# Tip: Run these commands in the built-in Terminal app (or iTerm if you have that installed).
# Install Homebrew if you haven't yet
/bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh ) "
# If you already have Homebrew installed, just run these 2 commands:
brew install --cask android-platform-tools
brew install p7zip pv bash dialog coreutilsInstall步骤即可。backup-windows.ps1的文件,然后单击“使用PowerShell运行”。重要的是:如果您在运行脚本后看到错误,请在设置应用程序中搜索“开发人员设置”,并应用与PowerShell相关的设置。您可能还必须打开文件的属性,并确保在“安全性”旁边检查“解密”。 
只需在Windows上运行backup.sh (或backup-windows.ps1 ),脚本就会引导您完成整个过程。本节涵盖了此程序的高级使用情况。
打开Android备份钩可让您毫不费力地包含自己的备份步骤,例如需要根或仅在特定设备上工作的步骤,而无需修改主脚本。您可以将这些挂钩上传到自己的GitHub存储库中,并与他人分享。
用户的信息
在编写或下载您想使用的挂钩后,将其重命名为hooks.sh ,并将其与此脚本放入同一目录中。接下来,当脚本问您时,允许使用钩子。
信息意识的信息
使用您不信任的钩子是我们不责任的安全风险!他们通过手机和计算机具有与打开Android备份相同的访问权限,从而使攻击者有可能在后门或擦除设备。在运行脚本之前,您必须检查要使用的钩子的内容。
打开Android备份不会自动加载钩子,您必须在程序触摸之前允许使用它们。
开发人员的信息
指南- 遵循这些指南,以使您的备份进行防止。
./backup-tmp/Hooks/<hook name>/ ,并确保在执行任何操作之前创建目录。./backup-tmp ),并且如果不这样做(在通知用户之后),请勿执行任何操作。这使您的钩子可以与香草备用档案配合使用。$backup_archive获得备份存档路径。有用的功能和命令
cecho <text>让您具有黄色终端输出。wait_for_enter等待按键,并且与无人看管的模式兼容。get_file <phone_directory> <phone_file> <destination>可让您以最佳的可靠性和速度将文件复制,这是adb pull的替代方案。可用于备份数据。adb push <file> <destination>可让您将文件上传到设备,在还原数据时很有用。必需的功能
您需要在钩子中使用3个功能,才能通过脚本正确初始化它:
after_backup_hook备份完成后运行的代码,即在所有内容被压缩到备份存档之后。backup_hook在内部存储,应用程序,联系人和其他数据之后运行的代码已从设备上复制。restore_hook在还原过程中运行的代码,使您可以还原以前备份的数据。请记住,该项目对自动化的支持很少,并且很少提供支持。为了导出联系人,您仍然需要物理访问您要备份的设备作为“无人看管模式”的设备,尚未实现伴随应用程序。
有10个环境变量可以控制脚本在没有用户输入的情况下进行的操作:
unattended_mode而不是等待钥匙按下,而是睡5秒钟。可以是任何值。selected_action运行时脚本应该做什么。可能的值是Backup和Restore (敏感)。archive_path备份路径。用于还原和备份操作。archive_password备份密码。mode - 脚本应如何连接到设备。可能的值是Wired , Wireless (敏感)。export_method打开Android备份的方法应用于从设备导出数据。可能的值是tar和adb (敏感) - 前者非常快,非常稳定,但可能无法在所有设备上使用,后者兼容,但存在稳定性问题。use_hooks是否使用钩子。可能的值是yes或no (敏感)。data_erase_choice是否安全删除临时文件。可能的值是Fast , Slow且Extra Slow (情况敏感)。如果计算机上不存在命令srm则该变量的值将被忽略。discouraged_disable_archive禁用备份存档的创建,仅创建一个没有压缩,加密或其他功能的备份目录。不建议这样做,尽管有些人可能会发现重复备份并节省空间很有用。默认情况下,不支持使用此选项创建的恢复备份。您必须从备份目录中手动创建一个存档,然后还原它。可能的值是yes或no (敏感)。compression_level 0、1、3、5、7、9。中的一个是最慢的,而0是最慢,0是压缩和最快的水平。如果您的大多数数据已经被压缩,例如JPG图片或MP3视频,则不会通过压缩它来放松太多音量。示例:
# Enable unattended mode, backup the device over the wire to the working directory and use the password "123"
$ unattended_mode= " yes " selected_action= " Backup " mode= " Wired " export_method= " tar " archive_path= " . " archive_password= " 123 " ./backup.sh
# Keep unattended mode disabled, but automatically use the password "456"
$ archive_password= " 456 " ./backup.shget.openandroidbackup.me便利脚本从2024年1月1日开始弃用,这是因为与从Internet运行未经验证的代码相关的潜在安全含义以及对各种系统配置的有限支持。请改用官方使用说明。
计划在2024年4月删除该脚本,尽管如果大量人仍在使用它,它可能会停留更长的时间。
注意:您无需执行此操作,因为在GitHub版本的运行时自动下载了预编译的Companion应用程序。
flutter doctor和flutter doctor --android-licenses 。cd companion_app/和flutter build apk 。 公关表示赞赏。
该程序是免费的软件:您可以根据自由软件基金会发布的GNU通用公共许可证的条款对其进行重新分配和/或修改它,该版本是该许可证的版本3,或(按您的选项)任何以后的版本。
该程序的分布是希望它将有用的,但没有任何保修;即使没有对特定目的的适销性或适合性的隐含保证。有关更多详细信息,请参见GNU通用公共许可证。
您应该已经收到了GNU通用公共许可证的副本以及此计划。如果没有,请参见https://www.gnu.org/licenses/。