clark800 / dropbox-restore

Restore any dropbox folder to a previous state
The Unlicense
246 stars 62 forks source link

dropbox-restore

📣 I no longer use Dropbox so I can't maintain this script. If you would like to be the maintainer, you can create a pull request that updates to the latest API and I will grant you collaborator access so you can manage the project (if the pull request passes a code review). The pull request should preserve all the former functionality and update to the latest API and not make any other changes.

The Dropbox API changed and this script no longer works; you can try using https://github.com/clark800/dropbox-restore/pull/48 though it does not restore to the exact previous state

Restore any dropbox folder to a previous state. If a file did not exist at the specified time, it will be deleted.

Example

To restore the folder "/photos/nyc" to the way it was on March 9th, 2013:

python2.7 restore.py /photos/nyc 2013-03-09

Note that the path "/photos/nyc" should be relative to your Dropbox folder; it should not include the path to the Dropbox folder on your hard drive. You will be prompted to confirm access to your Dropbox account through your web browser.

Installation

  1. Obtain Dropbox APP_KEY and APP_SECRET by creating a Dropbox App: https://www.dropbox.com/developers/apps/create

  2. Make sure that Python 2.7 and pip are installed.

  3. Then install the Dropbox Python API with the following command.

    sudo pip install dropbox

  4. Download restore.py from Github

  5. Insert APP_KEY and APP_SECRET at the top of restore.py

Time

Specifying a time is not officially supported because the time zone is ignored currently. However, it seems like Dropbox always uses UTC, so you can try specifying UTC times at your own risk by specifying the date and time in the format YYYY-MM-DD-HH-MM-SS on the command line. Be warned that Dropbox's documentation does not guarantee that they will always use UTC, so this can break at any time.

Donations

If you would like to make a donation, you can use the PayPal button on my website: http://cclark.me