LinuxCommandLibrary

idevicebackup

Backup iOS devices to a computer

TLDR

Create a backup of the device in the specified directory

$ idevicebackup backup [path/to/directory]
copy

Restore a backup from the specified directory
$ idevicebackup restore [path/to/directory]
copy

SYNOPSIS

idevicebackup [-d|--debug <level>] [-u|--udid UDID] [-v|--version] [-h|--help] <command> [<args>]
Commands: backup [<udid>] <backupdir> | restore <backupdir> [<label>] | list [<udid>] [<backupdir>] | unback <udid> <backupdir> <label> | erase [<udid>] [<backupdir>] | info [<udid>] [<backupdir>]

PARAMETERS

-d, --debug <number>
    Enable communication and application level debugging with specified integer level (max 3)

-u, --udid UDID
    Target specific device by its 40-digit device UDID

-v, --version
    Print tool version and exit

-h, --help
    Print full usage information and exit

backup [<udid>] <backupdir>
    Create new backup to directory (prompts for passcode if encrypted)

restore <backupdir> [<label>]
    Restore from backup directory (use -- for all or specify label; prompts for passcode)

list [<udid>] [<backupdir>]
    List available backups with details

unback <udid> <backupdir> <label>
    Remove specific backup label

erase [<udid>] [<backupdir>]
    Delete all backups for device

info [<udid>] [<backupdir>]
    Print backup directory information

DESCRIPTION

The idevicebackup command is a cross-platform tool from the libimobiledevice suite for creating, managing, and restoring backups of iOS devices (iPhone, iPad, iPod Touch) without iTunes or Finder. It communicates with the device over USB using the Apple Mobile Device protocol, supporting both unencrypted and encrypted backups. Encrypted backups require the device passcode during creation and restoration.

To use it, ensure libimobiledevice and dependencies like libplist, libusbmuxd are installed. Connect the device via USB, unlock it, and trust the computer if prompted. The tool generates backups in a directory with timestamped folders containing device data, plist metadata, and files like Manifest.db. It handles domain-based backups similar to iTunes, excluding certain system files unless specified.

Common workflows include listing backups with list, creating new ones with backup, restoring with restore, or erasing old ones. Note it's command-driven with global options for targeting specific devices by UDID.

CAVEATS

Deprecated in favor of idevicebackup2 which supports more iOS versions and features like domain selection. Requires device unlocked and trusted. Encrypted backups need passcode. Multiple devices need UDID specified. Backups not compatible with iTunes/Finder.

INSTALLATION

Install via package manager: apt install libimobiledevice-utils (Debian/Ubuntu) or dnf install libimobiledevice (Fedora). Build from source at libimobiledevice.org.

EXAMPLES

idevicebackup backup ~/iOSBackup (create backup)
idevicebackup list (list backups)
idevicebackup restore ~/iOSBackup/MyiPhone (restore specific label)

ENCRYPTION NOTE

Use idevicebackup backup --enc <backupdir> for encryption prompt; restore requires same passcode.

HISTORY

Part of libimobiledevice project started in 2007 by Nikias Bassen to reverse-engineer iOS protocols. idevicebackup introduced around 2009 for iPhone OS 3.x backups. Widely used pre-iOS 10; largely replaced by idevicebackup2 in 2016 for better AFC2/MBx protocol support and iOS 10+ compatibility.

SEE ALSO

Copied to clipboard