이전에 Linux Android 백업.
Open Android Backup은 공급 업체 잠금 장치 나 폐쇄 소스 소프트웨어를 사용하지 않고도 안드로이드 장치를 쉽게 백업 할 수있는 작은 쉘 스크립트 및 플러터 앱으로 데이터를 위험에 빠뜨릴 수 있습니다. 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과 관련된 설정을 적용하십시오. 파일의 속성을 열고 "보안"옆에 "차단 해제"가 확인되어야 할 수도 있습니다. 
backup.sh (또는 Windows에서 backup-windows.ps1 ) 만 실행하면 스크립트가 프로세스를 안내합니다. 이 섹션에서는이 프로그램의 고급 사용법을 다룹니다.
오픈 안드로이드 백업 후크를 사용하면 기본 스크립트를 수정하지 않고 루트 또는 특정 장치에서만 작동하는 것과 같은 백업 단계를 쉽게 포함시킬 수 있습니다. 이 후크를 자신의 Github 리포지토리에 업로드하여 다른 사람과 공유 할 수 있습니다.
사용자를위한 정보
사용하려는 후크를 작성하거나 다운로드 한 후 hooks.sh 로 이름을 바꾸고이 스크립트와 동일한 디렉토리에 배치하십시오. 다음으로 스크립트가 요청할 때 후크를 사용하십시오.
보안 의식을위한 정보
당신이 신뢰하지 않는 후크를 사용하는 것은 우리가 책임을 주장하지 않는 보안 위험입니다! 그들은 휴대 전화 및 컴퓨터에 대해 열린 Android 백업과 동일한 액세스 권한을 가지고있어 공격자가 백도어 또는 장치를 닦을 수 있습니다. 스크립트를 실행하기 전에 사용하려는 후크의 내용을 확인해야합니다.
오픈 안드로이드 백업은 후크를 자동으로로드하지 않으므로 프로그램에 닿기 전에 후크를 사용해야합니다.
개발자를위한 정보
가이드 라인 - 백업을 향후 방지하려면이를 따르십시오.
./backup-tmp/Hooks/<hook name>/ 로 백업하는 파일을 저장하고 무엇이든하기 전에 디렉토리를 만들어야합니다../backup-tmp 로 추출). 이를 통해 고리가 바닐라 백업 아카이브와 함께 작업 할 수 있습니다.$backup_archive 사용하여 백업 아카이브 경로를 얻을 수 있습니다.유용한 기능 및 명령
cecho <text> 는 노란색 터미널 출력을 가질 수 있습니다.wait_for_enter Keypress를 기다리며 무인 모드와 호환됩니다.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 입니다 (Case Conslitive).archive_path 백업 경로. 복원 및 백업 작업 모두에 대해 작동합니다.archive_password 백업 비밀번호.mode - 스크립트가 장치에 연결 해야하는 방법. 가능한 값은 Wired 및 Wireless (케이스 민감성)입니다.export_method 메소드 오픈 Android 백업은 장치에서 데이터를 내보내는 데 사용해야합니다. 가능한 값은 tar 및 adb (CASE 민감성)입니다. 전자는 빠르고 안정적이지만 모든 장치에서는 작동하지 않을 수 있으며 후자는 널리 호환되지만 안정성 문제가 있습니다.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 중 하나. 여기서 9는 가장 느린 균열이며 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.sh get.openandroidbackup.me 편의성 스크립트는 2024 년 1 월 1 일부터 인터넷에서 비 검증 된 코드 실행과 관련된 잠재적 보안 영향과 다양한 시스템 구성에 대한 제한된 지원으로 인해 감가 상각됩니다. 대신 공식 사용 지침을 사용하십시오.
대본 제거는 2024 년 4 월에 계획되어 있지만, 상당수의 사람들이 여전히 사용하고 있다면 더 오래 지속될 수 있습니다.
참고 : 사전 컴파일 된 컴패니언 앱이 GitHub 릴리스에서 런타임에 자동으로 다운로드 되므로이 작업을 수행 할 필요가 없습니다.
flutter doctor 와 flutter doctor --android-licenses 실행하십시오.cd companion_app/ 및 flutter build apk 실행하십시오. PR은 감사합니다.
이 프로그램은 무료 소프트웨어입니다. Free Software Foundation, 라이센스의 버전 3 또는 이후 버전에서 게시 한 GNU 일반 공개 라이센스의 조건에 따라 재분배 및/또는 수정할 수 있습니다.
이 프로그램은 유용 할 것이지만 보증이 없다는 희망으로 배포됩니다. 상업성 또는 특정 목적에 대한 적합성에 대한 묵시적 보증조차 없습니다. 자세한 내용은 GNU 일반 공개 라이센스를 참조하십시오.
이 프로그램과 함께 GNU 일반 공개 라이센스 사본을 받았어야합니다. 그렇지 않은 경우 https://www.gnu.org/licenses/를 참조하십시오.