Command line utility (idevsutil) APIs

Development made easy: IDrive EVS APIs

Download

Download your data securely from the IDrive EVS storage service using this API.
Syntax:
idevsutil --xml-output --password-file=<account password> --pvt-key=<key file path> --files-from=<path of filelist file> <username>@<server address>::ibackup/ /<download location on your location computer>/
  • --pvt-key=PATH_OF_PVT_KEY_FILE
    Reads private encryption key for AES 256-bit encryption for all data transfers. Private encryption key length can vary from minimum of 4 characters to maximum of 255 characters. If you opt for the default encryption key during your IDrive account sign up then the use of the private encryption key is not required.
  • --password-file=PATH_OF_PSWD_FILE
    Reads account password from the specified file. Alternately, you can directly set the password using --password-file=<account password>
  • --files-from=PATH_OF_FILE_LIST_FILE
    Reads list of file(s) / folder(s) that you wish to download from your IDrive account.
  • Username
    IDrive username. If you do not have a valid username, Sign up with IDrive.
  • Server address
    Use GetServerAddress API to retrieve the IDrive server address.
Code:
idevsutil --xml-output --password-file="MyPassword" --pvt-key=enc_key --files-from=filelist john@<server address>::ibackup/ /C/Download/

Following are the important features:


1. Full and Incremental download

IDrive EVS download API is intelligent enough to perform full and incremental download. During incremental download, only modified portions of a file will be downloaded from your IDrive account. It uses the advanced patching technology to determine the changed data at source and applies only modified blocks of the changed files, on to the data which is present on your local computer.

Note: To view the data download type, such as Full download, Incremental download or if the file is already present in your local computer (file in sync); use --type parameter / switch along with the download code
Example:
idevsutil --xml-output --password-file="MyPassword" --pvt-key=enc_key --type --files-from=filelist john@<server address>::ibackup/ /C/Download/

2. Download a particular version of a file

The most recent 30 versions of a file are stored on your account and the same can be retrieved to your local computer from your account at any moment of time. To retrieve the complete version history of a particular file refer “Version history” API.
Example:
To download the second version of a particular file (E.g. Archive.zip and office_invent.doc files) to C:\Download\ folder… Content of filelist file:
  • /Archive.zip_IBVER002
  • /office_invent.doc_IBVER002
  • _IBVER002:
    This is to inform the IDrive server to send second version of the file.

Code:
idevsutil --xml-output --password-file="MyPassword" --pvt-key=enc_key --files-from=filelist john@<server address>::ibackup/ /C/Download/
Code / Output management
This section explains about the sample code execution and its output generated while performing the download operation.

Content of filelist file:
  • /C/Images/
  • /C/Archive.zip

To download “Images” and “Archive.zip” folder from your IDrive account to C:\Download\ folder on your local computer:
Code:
idevsutil --xml-output --password-file="MyPassword" --pvt-key=enc_key --files-from=filelist john@<server address>::ibackup/ /C/Download/
The above-mentioned code can be executed using any programming language across any platform (Windows, Mac and Linux).

Output:
Sample XML output:
<item size="25399" tottrf_sz="25399" tot_sz="86437" per="100%" rate_trf="0.22kB/s" fname="C/Images/Image1.jpg"/>

<item size="34399" tottrf_sz="34399" tot_sz="98437" per="100%" rate_trf="0.21kB/s" fname="C/Archive.zip"/>
Description:
The following details are displayed during a particular file (or set of files) download operation:
  • item size
    Size of the particular file
  • tottrf_sz
    Amount of data transferred with respect to the total upload set size
  • tot_sz
    Total size of your upload set
  • per
    Percentage of data transferred for a particular file
  • rate_trf
    Rate of data transfer
  • fname
    File name

You can make use of I / O redirection methods for redirecting IDrive EVS command line utility (idevsutil) output.

Refer code repository for more details on usage / implementation.