Skip to main content

Python CLI to make a backup of an entire CartoDB domain to SQL dump file (zipped). Optionally you can restore SQL dumped file to a new (created) PostGIS DB. Also you can upload sql files to Amazon S3.

Project description

PyPI version

Python CLI to make a backup of an entire CartoDB domain to SQL dump file (zipped).

Optional:

  • You can restore SQL dumped file to a new (created) PostGIS DB.

  • You can upload sql files to Amazon S3.

  • Message from Amazon SNS (Simple Notification Service).

Before execute this script you need a cartodbbkconfig.py file properly formed (See cartodbbkconfig_example.py).

cartodbbkconfig.py config parameters:

confparams = {
                "cdb_apikey": "here your api key",
                "cdb_domain": "here your domain",
                "sql_folderpath": "here your dump folderpath",
                "pg_user": "here your db admin user",
                "pg_pswd": None, # If you leave the password to None, the program will ask you in the command line interface
                "pg_dbase": "here your db name",
                "pg_host": "here your db host",
                "pg_port": "here your db port",
                "pg_newdatabase": "here your new db name",
                "aws_acckey": "here your AWS Acces Key",
                "aws_seckey": "here your AWS Secret Key",
                "aws_bucket": "here your AWS bucket",
                "aws_prekey": "here your AWS bucket prefix key",
                "sns_regname": "here your AWS region name",
                "sns_arn": "here your SNS ARN",
                "sns_subject": "My project"
            }

Installation

You can install this package from PYPI: https://pypi.python.org/pypi/cartodb_backup

$ pip install cartodb_backup

You can also install it in this way:

$ python setup.py install

Usage

Python CLI:

$ cartodb_backup [-h] configfile [--postgis_backup] [--aws_s3upload]
                 [--amz_sns] [--rmv_localfl]

positional arguments:
  configfile            Config filepath: /folderlocation/

optional arguments:
  -h, --help            show this help message and exit
  --postgis_backup      POSTGIS_BACKUP PostGIS backup (restoring dump file created)
  --aws_s3upload        Upload file to Amazon S3
  --amz_sns             Amazon SNS message
  --rmv_localfl         Remove local file after a successfully Amazon S3 upload

Example without PostGIS backup:

$ cartodb_backup /folderlocation/

Example with PostGIS backup:

$ cartodb_backup /folderlocation/ --postgis_backup

Example with Amazon S3 upload:

$ cartodb_backup /folderlocation/ --aws_s3upload

Example with Amazon S3 upload and Amazon SNS (removing local sql folder after upload):

$ cartodb_backup /folderlocation/ --aws_s3upload --amz_sns --rmv_localfl

Requirements

  • GDAL >= 1.11.

  • PostgreSQL with PostGIS (1).

  • Psycopg2 Python library (1).

  • Python interface to Amazon Web Services (Boto) (2).

  1. Only if you want to use –postgis_backup parameter.

  2. Only if you want to use –aws_s3upload parameter.

About author

Developed by Cayetano Benavent. GIS Analyst at Geographica.

http://www.geographica.gs

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cartodb_backup-0.1.tar.gz (6.5 kB view details)

Uploaded Source

File details

Details for the file cartodb_backup-0.1.tar.gz.

File metadata

  • Download URL: cartodb_backup-0.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cartodb_backup-0.1.tar.gz
Algorithm Hash digest
SHA256 c30ce98ff7f502d776a42361dbf2c5e95e4f1d32c40bb39f9ad5dca228306593
MD5 d8b48b447f2b290a65755001f443e84d
BLAKE2b-256 7cdcdcb989a7ffb1718bdb72eb4c20aac98ccb274ce901e5042f14d0ddb7b523

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page