{ "info": { "author": "Will & Skill AB", "author_email": "info@willandskill.se", "bugtrack_url": null, "classifiers": [], "description": "# django-bacman #\n\nA simple library that takes a snapshot of a Postgres or MySQL database and uploads it to AWS S3.\n\n## Installation ##\n\n**Step 1:** - Install it\n\n```bash\npip install bacman\n```\n\n**Step 2:** Add proper environment variables in your `/etc/environment` or `.pam_environment`\n\n```bash\nDATABASE_URL=\"postgres://dbuser:dbpass@localhost:5432/dbname\"\n\nAWS_SECRET_ACCESS_KEY=\"YOURAWSSECRETACCESSKEYABCDEFGHIJKLMNOPQR\"\nAWS_ACCESS_KEY_ID=\"YOURAWSACCESSKEYIDAB\"\n\nBACMAN_BUCKET=\"bacman-example\"\nBACMAN_DIRECTORY=\"/home/bacman/backups\"\nBACMAN_REGION=\"eu-west-1\"\n```\n\n**Step 3:** Create .py file with the contents below\n\n```python\nfrom bacman.postgres import Postgres\n\nPostgres(cleanup_local_snapshots=True)\n```\n\nor\n\n```python\nfrom bacman.postgres import Postgres\n\nPostgres(cleanup_local_snapshots=True, local_snapshot_timeout=24)\n```\n\n\n## Settings ##\n\n### DATABASE\n\n**DATABASE_URL**\n\nPlease add the `DATABASE_URL` variable to your `/etc/environment` or `.pam_environment`\n\nRead more at https://github.com/kennethreitz/dj-database-url\n\n\n### Amazon Web Services\n\n**AWS_ACCESS_KEY_ID**\n\nPlease add the `AWS_ACCESS_KEY_ID` variable to your `/etc/environment` or `.pam_environment`\n\n**AWS_SECRET_ACCESS_KEY**\n\nPlease add the `AWS_SECRET_ACCESS_KEY` variable to your `/etc/environment` or `.pam_environment`\n\n\n### BacMan ###\n\n#### BACMAN_BUCKET\n\nPlease add the `BACMAN_BUCKET` variable to your `/etc/environment` or `.pam_environment`\n\n#### BACMAN_DIRECTORY\n* default: `/tmp/bacman`\n\n#### BACMAN_PREFIX\n* default (Postgres): `pgdump`\n* default (MySQL): `mysqldump`\n\n\n### Examples\n\n#### Example 1\n```python\n# /home/bacman/runbacman.py\n\nfrom bacman.postgres import Postgres\n\n# Uploads to remote AWS bucket\n# Removes old database snapshots that are older than 30 days (720 hrs)\ndef main():\n Postgres(to_remote=True, cleanup_local_snapshots=True)\n\nif __name__ == \"__main__\":\n main()\n```\n\n#### Example 2\n```python\n# /home/bacman/runbacman.py\n\nfrom bacman.postgres import Postgres\n\n# Uploads to remote AWS bucket\n# Removes local snapshots that are older than 360 hrs\n# Removes remote snapshots that are older than 180 hours\ndef main():\n Postgres(to_remote=True, remote_snapshot_timeout=180, cleanup_local_snapshots=True, local_snapshot_timeout=360)\n\nif __name__ == \"__main__\":\n main()\n```\n\n#### Crontab example\n\nTake a snapshot every 2 hours\n\n```\n0 */2 * * * ~/env/bin/python ~/runbacman.py >> /home/django/logs/crontab.log 2>&1\n```\n\nYou can test run the script above by\n\n```\n$ chmod +x runbacman.py\n$ python runbacman.py\n```\n\n```bash\n# Open your crontab editor by typing crontab -e\n\n# m h dom mon dow command\n0 */2 * * * ~/env/bin/python ~/runbacman.py >> /home/bacman/logs/crontab.log 2>&1\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/willandskill/bacman", "keywords": "backup,database,mysql,postgres", "license": "BSD licence, see LICENCE.txt", "maintainer": "", "maintainer_email": "", "name": "bacman", "package_url": "https://pypi.org/project/bacman/", "platform": "", "project_url": "https://pypi.org/project/bacman/", "project_urls": { "Homepage": "https://github.com/willandskill/bacman" }, "release_url": "https://pypi.org/project/bacman/0.3/", "requires_dist": null, "requires_python": "", "summary": "Easily take snapshots of Postgres and MySQL databases and upload to AWS S3.", "version": "0.3" }, "last_serial": 5852692, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ae143730d8cb9fe744c9d6219de721a0", "sha256": "6d5054ea0c0383ad2f8c87c80404b65d3f3561a2145861f161bc9c1248a76701" }, "downloads": -1, "filename": "bacman-0.1.tar.gz", "has_sig": false, "md5_digest": "ae143730d8cb9fe744c9d6219de721a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4361, "upload_time": "2015-10-04T20:59:58", "url": "https://files.pythonhosted.org/packages/70/aa/5584a76f79f7f0a95bc18cbecf4f70716c15f3b6e9eb37b4c9ffe415ce7d/bacman-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c9611ace5754322a2ab0101d2a112bd7", "sha256": "4dbc9b35a3de8d3c576105fb2c36a9650316efa51b10563908eea682b3b08f08" }, "downloads": -1, "filename": "bacman-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c9611ace5754322a2ab0101d2a112bd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4358, "upload_time": "2015-10-04T21:12:07", "url": "https://files.pythonhosted.org/packages/36/3d/daf1f4933afd0e21150d8c5b7d0ac3a973a09238359dc61ddfa30bfbcf61/bacman-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c6ef1b0bae1d16a6fdcc35774647a130", "sha256": "f5840e2271bb4f5f571b4e16a562cf61ad6493c54d8ae2cb181a52d7fb668d9b" }, "downloads": -1, "filename": "bacman-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c6ef1b0bae1d16a6fdcc35774647a130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4398, "upload_time": "2016-07-13T22:00:42", "url": "https://files.pythonhosted.org/packages/c4/7b/32ae45a1c825c29801f070a2bb9b839fac3c1f25412326a906517b305566/bacman-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "08622b1afb246bce70db833974ba29f3", "sha256": "01199bc3e060349946f1ee06542be0f5de90fe9f2f7c79e2d8a70a5274850c3d" }, "downloads": -1, "filename": "bacman-0.1.3.tar.gz", "has_sig": false, "md5_digest": "08622b1afb246bce70db833974ba29f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4452, "upload_time": "2016-07-14T10:53:14", "url": "https://files.pythonhosted.org/packages/68/c4/ccbbadabadbb87a03fa6d0432ca9562d9072d1e58ee0aaeb21ab0004c660/bacman-0.1.3.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "2e1d2cd204f1d92c76fccb36d42a3c40", "sha256": "1435d2ed7d284d5a8b5aa034f612ddf125adcb339698e9ba5f6b7d1cf711013c" }, "downloads": -1, "filename": "bacman-0.1.7.tar.gz", "has_sig": false, "md5_digest": "2e1d2cd204f1d92c76fccb36d42a3c40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4895, "upload_time": "2016-07-20T00:04:35", "url": "https://files.pythonhosted.org/packages/15/66/b2234963b6dc9b899d47c3aac668ef7ee166f0a1b0cf7026c4c5aa19450b/bacman-0.1.7.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e78c6c7c9f611dd078edccfc190dc759", "sha256": "93e63686f35cda6cff7cc78317687fae4eca6e16fde5bf6c5db663c2382ea7a0" }, "downloads": -1, "filename": "bacman-0.2.tar.gz", "has_sig": false, "md5_digest": "e78c6c7c9f611dd078edccfc190dc759", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5547, "upload_time": "2017-05-29T02:29:24", "url": "https://files.pythonhosted.org/packages/a4/d3/d0681b638522aac6777a836ba5f5f5dc2fff05af370c9c0c8c3aa3c91557/bacman-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "8c86b02513ed12d5818413cacb6d457a", "sha256": "33315e5754aa8e40fcf1404af12c9f3a550518dc6ce478f1a502f5925f6c868f" }, "downloads": -1, "filename": "bacman-0.3.tar.gz", "has_sig": false, "md5_digest": "8c86b02513ed12d5818413cacb6d457a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5792, "upload_time": "2019-09-18T21:43:40", "url": "https://files.pythonhosted.org/packages/ab/82/8e803ab1a43ccdf19a2ac7c7c8165db70632aa9799e3fcf237f701257760/bacman-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c86b02513ed12d5818413cacb6d457a", "sha256": "33315e5754aa8e40fcf1404af12c9f3a550518dc6ce478f1a502f5925f6c868f" }, "downloads": -1, "filename": "bacman-0.3.tar.gz", "has_sig": false, "md5_digest": "8c86b02513ed12d5818413cacb6d457a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5792, "upload_time": "2019-09-18T21:43:40", "url": "https://files.pythonhosted.org/packages/ab/82/8e803ab1a43ccdf19a2ac7c7c8165db70632aa9799e3fcf237f701257760/bacman-0.3.tar.gz" } ] }