コマンドラインでiOSデバイスとバックアップを操作する

更新しました
Cover image for: コマンドラインでiOSデバイスとバックアップを操作する

iPhone Backup Extractorには、iOSのバックアップとデバイスをrictlためのrictlという名前のコマンドラインツールがrictlれています。 rictlは、iPhone Backup Extractorが実行されているすべてのプラットフォーム上で動作し、引数およびヘルプ構文、およびシェルリターンに関しては、UNIXスタイルのコマンドラインツールのように動作します。

一目でわかる機能:

  • UNIX互換フォーマット( $?シェルのリターンコード、ロケールフォーマットの日付、awkに優しい出力、エクスポートされたデータのstdoutストリーム)
  • 複数の同時検索パスをサポート
  • あらゆる形式の暗号化バックアップをサポート
  • 相対パスとホームベース( ~ )パスのサポート

rictl shown in macOS Terminal
macOSターミナルに表示されるrictl

rictl shown in Windows Command Prompt
Windowsコマンドプロンプトに表示されるrictl

クイックスタート:iOSバックアップからデータベースファイルを抽出する

ローカルシステムで利用可能なバックアップを探します。

$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok

バックアップからすべてのデータベースファイルを抽出します(正規表現形式に注意してください)。

$ rictl backup extract -u 00000000-0000000000000000 -r "\.db"
Extracting HomeDomain/Library/Voicemail/voicemail.db
Extracting HomeDomain/Library/Safari/Bookmarks.db
Extracting RootDomain/Library/Caches/locationd/consolidated.db
Extracting WirelessDomain/Library/CallHistory/call_history.db
...

コマンド用語集

助けを得る

rictl helpコマンドを使用すると、予想通りにrictlを使用してヘルプを入手できます。

$ rictl help
Usage: rictl <command> [args]

Available commands:
   backup   Work with a local backup
   device   Work with devices over USB and Wi-Fi

Use 'rictl help <command>' for detailed help on a particular command

rictl exposes a backup mode for working with local backups, and a device mode for working with iOS devices over USB or Wi-Fi.

ローカルバックアップの使用

$ rictl help backup
Usage: rictl backup <command> [args]
Work with local backups

Available commands:
  search   Search for local backups
  info     Show info about a backup
  list     List files in a backup
  extract  Extract files from a backup
  export   Export data from a backup

Use 'rictl help backup <command>' for detailed help on a particular backup command

バックアップを使用する場合、 searchinfolistextractexport 5つのオプションがあります。

searchを使用してローカルiOSバックアップをsearchする

$ rictl help backup search
Usage: rictl backup search [args]
Search for local backups

Available arguments:
  -s, --search-path=VALUE    path to search for backups (two directories deep)
  -l                         include full path in listing output
  -h, --help                 show this message and exit

最も簡単な方法では、 searchするとシステムのバックアップが表示されます。

$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok

表示されているフィールドは空白で区切られています。

  • UDID
  • バックアップ作成時間
  • iOSデバイスのバージョン
  • iOSデバイス識別子
  • バックアップステータス: okまたはin-progress
オプション-lはバックアップパスを表示します

-lを使用して、バックアップのパスとともに追加の出力フィールドを含めることができます。

$ rictl backup search -l
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok /Users/afit/Library/Application Support/MobileSync/Backup/00000000-0000000000000000
オプション-sは追加のパスを検索します

-sを使用すると、バックアップを探すときに追加の検索パスを含めることができます。

$ rictl backup search -s /Users/afit/Google\ Drive\ File\ Stream/My\ Drive/My\ backups/  -s Downloads/
00000000-0000000000000000                02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 09/06/2014 13:57:08 7.1.1  iPhone6,2 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 23/07/2014 12:37:55 8.0    iPhone6,2 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 28/07/2014 12:43:56 8.0    iPhone6,2 ok
CDBF062964613D325EB9E41AD83E85EA16B7E399 10/02/2014 14:29:59 7.0.4  iPad4,1   ok
57BE3B9E8087809F53666B887B9DD81B06299078 29/07/2014 14:18:54 7.1    iPhone3,1 ok
F60040E968F533434B9B6CCA10C7E0C673B7CC13 07/10/2014 09:44:17 8.0.2  iPhone7,2 ok
CC5D2A27218BD9E4A14B1E59918171A8676EF5BB 26/03/2015 11:07:42 2.2.1  iPhone1,1 ok
46A663D1A1A5C5146476A2C6164EA5F5FE771294 26/03/2015 11:09:54 4.2.1  iPhone1,2 ok
9F8FDEEFFCDA4BD53CA4D6F8229A04497CA5FA4C 31/10/2016 17:05:36 10.1.1 iPhone9,4 ok
  • ご想像のとおり、パスMy\ folderスペースを引用符( "My folder" )またはエスケープ( My\ folder )することができます。
  • -sは、バックアップフォルダまたはバックアップを含むフォルダを指定するために使用できます。

infoを使用してローカルのiOSバックアップから情報とメタデータを取得する

$ rictl help backup info
Usage: rictl backup info [args]
Show info about a backup

Available arguments:
  -u, --udid=VALUE           backup UDID
  -s, --search-path=VALUE    path to search for backups (two directories deep)
  -h, --help                 show this message and exit

それを試してみましょう:

$ rictl backup info -u 00000000-0000000000000000
UDID: 00000000-0000000000000000
Path: /Users/afit/Library/Application Support/MobileSync/Backup/00000000-0000000000000000
Backup in progress: False
Device name: Aidan's iPhone
Backup display name: Aidan's iPhone
Backup date: 02/07/2019 11:33:41
Backup size: 104258399691 bytes
Backup encrypted: True
Product version: 12.3.1
Product type: iPhone11,6
Serial number: FK1XH•••KPH6
Phone Number: +44 •••• ••••••
ICCID: 894411••••••••••••5
MEID: 35728209••••••

もちろん、iOSデバイスのUDIDは一意ですが、コンピュータ上に複数のバックアップがある場合があります。たとえば、アーカイブバックアップがある場合などです。

$ rictl backup search -l | grep B919
DB72CB76A00CB81675F19907D4AC2B298628D83C 09/06/2014 13:57:08 7.1.1 iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup1
DB72CB76A00CB81675F19907D4AC2B298628D83C 23/07/2014 12:37:55 8.0   iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup2
DB72CB76A00CB81675F19907D4AC2B298628D83C 28/07/2014 12:43:56 8.0   iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup3
$ rictl backup info -u DB72CB76A00CB81675F19907D4AC2B298628D83C
Multiple backups found with UDID DB72CB76A00CB81675F19907D4AC2B298628D83C. Use the '--search-path' option to specify the backup's location. This can be shown with the '-l' argument on 'rictl backup search'.

解決策は何ですか?バックアップのフォルダを含むフォルダではなく、バックアップがあるフォルダを指定して検索パスを絞り込みます。

$ rictl backup info -s /Users/afit/Library/Application Support/MobileSync/Backup/backup3 -u DB72CB76A00CB81675F19907D4AC2B298628D83C
UDID: DB72CB76A00CB81675F19907D4AC2B298628D83C
Path: /Users/afit/Library/Application Support/MobileSync/Backup/backup3
Backup in progress: False
Device name: Aidan's iPhone
Backup display name: Aidan's iPhone
Backup date: 28/07/2014 12:43:56
Backup size: 239001214 bytes
Product version: 8.0
Product type: iPhone6,2
Serial number: C7KNG•••G5MV
Phone Number: +44 •••• ••••••
ICCID: 894411••••••••••••5
MEID: 35728209••••••

listを使用してiOSバックアップ内のファイルをlistする

$ rictl help backup list
Usage: rictl backup list [args]
List files in a backup

Available arguments:
  -u, --udid=VALUE           backup UIUD
  -s, --search-path=VALUE    path to search for backups (two directories deep)
  -p, --password=VALUE       backup password
  -l                         use a long listing format
  -r, --pattern=VALUE        file pattern (regex)
      --allow-in-progress    allow use of in-progress backups
  -h, --help                 show this message and exit

試してみましょう。

$ rictl backup list -u 00000000-0000000000000000 -r plist$ -l
rw-r--r-- 321   24/06/2019 13:04:37 ManagedPreferencesDomain\mobile\.GlobalPreferences.plist
rw------- 16975 21/06/2019 14:52:54 AppDomainPlugin-com.apple.stocks.widget\Library\Preferences\com.apple.stocks.widget.plist
rw-r--r-- 219   01/07/2019 09:37:24 HomeDomain\Library\UserNotifications\A4CCFF5B-F963-425F-8068-729972F77C67\DeliveredNotifications.plist
...

iOSバックアップからファイルをextractするためのextractの使用

$ rictl help backup extract
Usage: rictl backup extract [args]
Extract files from a backup

Available arguments:
  -u, --udid=VALUE           backup UIUD
  -s, --search-path=VALUE    path to search for backups (two directories deep)
  -p, --password=VALUE       backup password
  -o, --output-path=VALUE    path to extract files to
  -r, --pattern=VALUE        file pattern (regex)
      --allow-in-progress    allow use of in-progress backups
  -h, --help                 show this message and exit

さんがすべて抽出してみましょう.dbという名前のフォルダにバックアップからファイルをExtractedし、のバックアップパスワードまで提供password

$ rictl backup extract -u 00000000-0000000000000000 -r "\.db" -o "Extracted" -p "password"
Extracting HomeDomain/Library/Voicemail/voicemail.db
Extracting HomeDomain/Library/Safari/Bookmarks.db
Extracting RootDomain/Library/Caches/locationd/consolidated.db
Extracting WirelessDomain/Library/CallHistory/call_history.db
...

exportを使用してiOSバックアップからデータをexportする

$ rictl help backup export
Usage: rictl backup export [args]
Export data from a backup

Available arguments:
  -u, --udid=VALUE           backup UIUD
  -s, --search-path=VALUE    path to search for backups (two directories deep)
  -p, --password=VALUE       backup password
  -t, --type=VALUE           data type (messages, whatsapp, viber, kik, wechat,
                               line, hike, tinder, photos, videos, recordings,
                               contacts, calendar, notes, calls, locations,
                               voicemail)
  -o, --output-path=VALUE    associated file output path
  -r, --pattern=VALUE        search pattern (regex)
  -f, --force                allow overwriting exising files
      --allow-in-progress    allow use of in-progress backups
  -h, --help                 show this message and exit

エクスポートされたデータは、ricloud APIが使用するものと同じJSON形式で利用可能になります 。それらの形式については、 ここで文書化されています

バックアップからすべてのメッセージデータを抽出しましょう。このデータはコンソールの標準出力ストリームstdout )に返されるので、それをmessages.jsonというファイルにリダイレクトしmessages.json 。関連ファイルをAssociated filesという名前のフォルダーに保存し、バックアップパスワードpasswordを提示しpassword

$ rictl backup export -u 00000000-0000000000000000 -t messages -o "Associated files" -p "password" > messages.json
...
$ cat messages.json
[
  {
    "From": "789789",
    "To": "Me",
    "Date": "2012-12-17T14:12:30Z",
    "Deleted": false,
    "Message": "All done! You're now on our Big Data Texts Tariff. We switched you over on 17/12/12",
    "Attachments": []
  },
  {
    "From": "789789",
    "To": "Me",
    "Date": "2012-12-17T18:12:50Z",
    "Deleted": false,
    "Message": "You have 300 Texts and Unlimited data",
    "Attachments": []
  },
...

デバイスの使用

$ rictl help device
Usage: rictl device <command> [args]
Work with devices over USB and Wi-Fi

Available commands:
  search    Show connected devices over USB and Wi-Fi
  backup    Backup a connected device
  restart   Restart a connected device
  shutdown  Shutdown a connected device

Use 'rictl help device <command>' for detailed help on a particular device command

デバイスを使用する場合、 searchbackuprestart 、およびshutdown 4つのオプションがあります。

あなたのパスにrictlを追加する

iPhone Backup Extractorは、「 Preferencesパネルを使ってWindowsまたはmacOSコンピュータのパスに自動的にrictlを追加できるので、コンピュータのどの端末でも簡単に使用できます。

iPhone Backup Extractor's "Scripting" preferences pane
iPhone Backup Extractorの「スクリプト」設定ペイン

ただし、パスを自分で設定することも、 aliasコマンドを使用することもできます。ラッパースクリプトが示すように、 rictlの機能はiPhone Backup Extractorのバイナリを介してアクセスされます。

$ cat `which rictl`
#!/bin/bash
/Applications/iPhone\ Backup\ Extractor.app/Contents/MacOS/iPhoneBackupExtractor cli "$@"

ファイル検索用の一般的な正規表現パターン

  • テキストplistで終わるパスを探します。- -r plist$
  • ファイル拡張子が.dbパスを検索する: -r \.db

エンタープライズユース

rictlの機能は、iPhone Backup Extractor の機能とほぼ同じです。このツールは、バックアップを探索するための無制限の操作を許可しますが、実行されるたびに最大 4 つのファイルを抽出するか、一度に 4 つのデータ項目をエクスポートするだけです。

このテクノロジがどのように使用されるのかについて耳を傾け、このテクノロジの上に社内管理ツールやコンプライアンスツールや製品を構築している多くの企業をサポートしています。これがあなたにとって価値があるかもしれないならば、私たち連絡を取ってください

どのように我々は助けることができます?

サポートチームがお手伝いします!

営業時間は月曜日から金曜日の午前9時から午後5時(GMT)です。 時間は現在 10:34 AM GMTです。

1営業日以内に、お返事を差し上げます。メールアドレスはこちら。

私たちの素晴らしいサポートチーム

この記事を改善できますか?

ユーザーからの連絡をお待ちしています。電子メールを送信したり、コメントを残したり、ツイートしたりしないでください。 @reincubate?

© 2008 - 2024 Reincubate Ltd. 無断複写・転載を禁じます。 イングランドとウェールズに登録 #5189175, VAT GB151788978. Reincubate®およびCamo®は登録商標です。 個人情報保護方針 & 条項.