Skip to main content

Collect and show info about various backups

Project description

Backup Reporter

This repository contains source code for backup reporter tool. That tool can collect backup information, upload it to S3 buckets, then collect bunch of backup information files, get them together into one csv file and upload it to google spreadsheet.

Backup reporter has two working modes: reporter and collector.

Installation

To install backup-reporter to some machine (either in reporter or collector mode), ensure you have a python 3.8+ installed on that machine. If so, simply run pip3 install backup-reporter and wait to the end of setup process. After installation will be completed, run backup-reporter -h to get further steps help.

Installation as user

Beware that standard python packages installations which are ran by mean user, won't install console scripts to the PATH, so ensure to do so manually - or run installation as root.

Configuration

Reporter

Reporter can be configured with two ways: script arguments or configuration file. Possible configuration options you can find by typing backup-reporter -h. To use config file just pass --config your_config_file.yml as script argument. All options from cli-help are same for config-file. As example following command:

  • python3 main.py --bucket="{'s3_path': 's3://bucket_name/in_bucket_path/metadata_file_name.txt', 'aws_access_key_id': 'key', 'aws_secret_access_key': 'key', 'aws_region': 'region'}" --docker_postgres

can be written in file:

docker_postgres: true
bucket:
    - s3_path: s3://bucket_name/in_bucket_path/metadata_file_name.txt
      aws_access_key_id: key
      aws_secret_access_key: key
      aws_region: region
      customer: "Customer name"

More examples can be found at docs/config-examples/reporter-*.conf

Collector

Collector can be configured the same way as reporter - with arguments passed to executable file or with config file (which, though, has to be passed as argument too). Example of config for collector with comments:

# Sheet owner is an email of user to whom ownership will be transfered
sheet_owner: s@example.com

# Credentials file is a JSON key which should be given to some service account.
# To understand how to create service account, try to google about a bit
google_spreadsheet_credentials_path: ~/Development/personal/backupreporter_key.json

# This is a name for a target spreadsheet
spreadsheet_name: "Backup-Reports"

# Sheet name in a spreadsheet
worksheet_name: Customers

bucket:
    - s3_path: s3://bucket/metadata/metadata.json
      aws_access_key_id: access-key
      aws_secret_access_key: secret-key
      aws_region: ru-1
      aws_endpoint_url: https://s3.ru-1.storage.selcloud.ru
      customer: Personal

Owner transfership at Google Drive

Owner transfership in case of spreadsheets is a two-step process. First, collector will set flag on spreadsheet which will indicate that permission have to be transferred. After that user which should became an owner has to accept that by write pendingowner:me in his google drive, find according spreadsheet and get the ownership. One can read some details at https://support.google.com/docs/answer/2494892?hl=en&co=GENIE.Platform%3DDesktop.

Development

Install poetry first, then simply run poetry install in repository root - and start to develop. To run, run poetry run. To publish new version, change version in pyproject.toml and run poetry build && poetry publish.

Project details


Download files

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

Source Distribution

backup_reporter-0.4.3.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

backup_reporter-0.4.3-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file backup_reporter-0.4.3.tar.gz.

File metadata

  • Download URL: backup_reporter-0.4.3.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.4 Darwin/23.5.0

File hashes

Hashes for backup_reporter-0.4.3.tar.gz
Algorithm Hash digest
SHA256 5fe8c75ba0900e7a826f38d512f8287c19ce3c03d7e1eba81e01d3437ac56807
MD5 04c7295a641cf2afc01379cae3a115a2
BLAKE2b-256 9ecb4ead01cc4026adf8f425546d959f5be0df523db79b2abe7453c96a92d8cf

See more details on using hashes here.

File details

Details for the file backup_reporter-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: backup_reporter-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.4 Darwin/23.5.0

File hashes

Hashes for backup_reporter-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8465ed8d6689d38bccc129be0e8cf64590cd0b812c058e42f14738ad6b61a70e
MD5 06f2db87f7eb25c49eeb6bbeecb7f41f
BLAKE2b-256 e5ec7f07d676e831b0d7e8129a8e5cc1011f89b84a5779a9ff73ac0e5b9aacf0

See more details on using hashes here.

Supported by

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