Code Monkey home page Code Monkey logo

podio-backup's Introduction

podio-backup

Creating a "maximum complete" backup of data stored at Podio (including files).

This runs as php commandline script (cli) and is based on: http://www.podiomail.com/blog/easy-podio-full-backup.php (thanks!)

A superior (hosted) backup solution is found at https://www.cloud-backup-for-podio.com (check it out!).

Features include:

  • Incremental backup (files are downloaded only once and are linked on subsequent runs).
  • Stores item human readable including comments - additionally items are bulk downloaded as excel file.
  • All files hosted at Podio are downloaded, files hosted externally are linked and easily accessible in an html app overview.
  • Smart handling of rate limits (sleeps before hitting the podio rate limit).

Usage:

php podio_backup_full_cli.php [-f] [-v] [-s PARAMETER_FILE] --backupTo BACKUP_FOLDER --podioClientId PODIO_CLIENT_ID --podioClientSecret PODIO_CLIENT_SECRET --podioUser PODIO_USERNAME --podioPassword PODIO_PASSWORD

php podio_backup_full_cli.php [-f] [-v] -l PARAMETER_FILE [--backupTo BACKUP_FOLDER] [--podioClientId PODIO_CLIENT_ID] [--podioClientSecret PODIO_CLIENT_SECRET] [--podioUser PODIO_USERNAME] [--podioPassword PODIO_PASSWORD]

php podio_backup_full_cli.php --help

Arguments:
   -f	download files from podio (rate limit of 250/h applies!)
   -v	verbose
   -s	store parameters in PARAMETER_FILE
   -l	load parameters from PARAMETER_FILE (parameters can be overwritten by command line parameters)
 
BACKUP_FOLDER represents a (incremental) backup storage. I.e. consecutive backups only downloads new files.

Installation:

After cloning the repository don't forget to initialize the podio-php submodule via: git submodule init and subsequent git submodule update.

podio-backup's People

Contributors

aseques avatar daniel-sc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

podio-backup's Issues

PHP Warnings

Hi. Thanks for this.

I hard-coded my credentials in podio_backup_full_cli.php and then went to this in my browser: http://mysite.com/podio-delta-backup/podio_backup_full_cli.php

I got these errors:

Warning: array_key_exists() expects parameter 2 to be array, boolean given in .../podio_backup_full_cli.php on line 55

Warning: array_key_exists() expects parameter 2 to be array, boolean given in .../podio_backup_full_cli.php on line 60

Warning: array_key_exists() expects parameter 2 to be array, boolean given in .../podio_backup_full_cli.php on line 68

Warning: array_key_exists() expects parameter 2 to be array, boolean given in .../podio_backup_full_cli.php on line 72

Warning: array_key_exists() expects parameter 2 to be array, boolean given in .../podio_backup_full_cli.php on line 75
ERROR: ERROR: create a backup folder called ''

Also, your readme says podio_backup_full.php (doesn't say ...cli.php). Is the readme not current or am I doing something wrong?

Thank you.

Allowed memory size of x bytes exhausted

At frist, thank you very much for your script. I was looking for something like that.

I received the following error message on and on:

PHP Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 12565851 bytes) in /volume1/web/podio-backup-master/podio-php/lib/Podio.php on line 439

Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 12565851 bytes) in /volume1/web/podio-backup-master/podio-php/lib/Podio.php on line 439

I've tried everything for hours. I changed all the php.ini files i could find, installed different versions of php, restarted the server many times but nothing seemed to work.

The solution was editing your code, as you set the memory to 200M manually and therefore the value in the php.ini was overwritten. After changing line 31 to ini_set("memory_limit", "1024M"); everything worked.

Memory Exhausted > 200M

My memory limit is currently set to memory_limit = -1 in my php.ini, however this is being overridden by the script ini_set('memory_limit', '200M'); Without this limit the script completes without issue.

Error Message:

PHP Fatal error:  Allowed memory size of 209715200 bytes exhausted (tried to allocate 80214863 bytes) in /home/webhat/podio-backup/podio-php/lib/Podio.php on line 224

ERROR: ERROR: create a backup folder called 'backups'

i'm trying to backup podio data(full backup) using your cli version code

i have already successfully used the script on podio full backup, which runs directly on the browser and it backsup the files from podio fine(from this site: http://www.podiomail.com/blog/easy-podio-full-backup.php)

but when i try your script, i get the error "ERROR: ERROR: create a backup folder called 'backups'"..i have created a 'backups' folder to hold the backup data so cannot understand the cause of the stated error

here is how i run the script from my cmd(i have php configured to run on cmd):

php C:\wamp\www\masterclass\podio-backup-master\podio_backup_full_cli.php [-f] [-v] [-s PARAMETER_FILE] --backupTo BACKUP_FOLDER --podioClientId PODIO_CLIENT_ID --podioClientSecret PODIO_CLIENT_SECRET --podioUser PODIO_USERNAME --podioPassword PODIO_PASSWORD

what i'm i doing wrong??

Client Id error

Hi, it seems that we all landed here for the same reason, the other app doesn't backup all the files, thank you for creating this.

I'm was receiving the same error as the other user: "ERROR: ERROR: create a backup folder called ''
So I hardcoded all the options, run it again, and I got this: "ERROR: Podio Authentication Failed. Please check the API key and user details."

So I tracked that error to this podio message: "ERROR: PodioBadRequestError: "Missing parameter client_id"

I have my clientid working, and it's working using the other app with the same options, I don't have any idea what's the error.

Thanks

Would it be possible to backup incrementally to the same folder?

The idea would be to save the files in the same backup folder, instead of having one sub-folder per backup (with the backup date and time) so that we could send the updates to git to save only the differences and save disk space.

This would also have to consider updating the files_in_app.html file, the excel files per app.
Ideally, it could also then delete things that were in the local backup folder but not in podio anymore (this would be a nice to have).

Many thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.