idevicebackup2
Back up data from iOS devices
TLDR
Create a backup of the device in the specified directory
Restore a backup from the specified directory
Enable encryption for backups
List the files in the last completed backup
SYNOPSIS
idevicebackup2 [-d, --debug LEVEL] [-u, --udid UDID] [-h, --help] [-V, --version] COMMAND [ARGS]
PARAMETERS
-d, --debug LEVEL
enable debug messages at verbosity LEVEL (integer from 0 to 4)
-u, --udid UDID
target specific device by its 40-hex-digit UDID
-h, --help
print full help and exit
-V, --version
print version information and exit
DESCRIPTION
idevicebackup2 is a cross-platform command-line utility from the libimobiledevice project, designed for backing up and restoring data from Apple iOS, tvOS, and bridgeOS devices on Linux and other non-Apple systems. It communicates directly with connected devices via USB using the native Apple protocols, bypassing the need for iTunes or Finder.
The tool supports creating full filesystem backups (including apps, settings, and media), restoring them selectively or completely, listing backup contents, displaying backup metadata, and removing specific backup domains. Backups are stored in a directory structure mimicking Apple's format, with Manifest.db for indexing. It handles both plain and encrypted backups (passcode-protected).
Key advantages include open-source nature, scriptability, and support for modern iOS versions up to recent releases. Usage requires a paired device and usbmuxd daemon. It's essential for developers, forensics, and users avoiding proprietary software.
CAVEATS
Device must be unlocked, trusted, and paired via usbmuxd. Encrypted backups require --password (subcommand-specific, not global). Not all iCloud or protected data is backed up. Restore may fail if iOS version mismatches. Use with caution to avoid data loss.
COMMANDS
backup [BACKUPDIR] [--full | --system | --custom] [--password PASS]: Create device backup.
restore BACKUPDIR [--system | --custom] [--password PASS]: Restore backup.
list [BACKUPDIR]: List domains/files.
info [BACKUPDIR]: Show backup metadata.
unback BACKUPDIR DOMAIN: Remove domain from backup.
EXIT STATUS
0: success.
1: general error.
2: invalid arguments.
3: plist/watchdir error.
4: AFC error.
126: missing subcommand.
127: command not found.
HISTORY
Part of libimobiledevice suite since ~2012; idevicebackup2 released in 2017 as improved successor to deprecated idevicebackup(1), adding support for iOS 10+ encrypted backups, AFC2 protocol, and better Manifest handling. Actively maintained for latest iOS versions.
SEE ALSO
ideviceinfo(1), idevicepair(1), idevicediagnostics(1), usbmuxd(8)


