{ "info": { "author": "amix", "author_email": "amix@amix.dk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "avoid_disaster\n---------------\n\nAvoid Disaster can be used to script daily, weekly or monthly backups and upload them to S3.\n\nFor more information check out:\nhttp://amix.dk/blog/post/19529#Avoid-Disaster-Script-backups-easily-to-Amazon-S3\n\nExamples\n----------\n\nExample of creating a backups of test_dir/::\n\n import os\n from avoid_disaster import S3Uploader, gunzip_dir, generate_file_key\n\n #--- Globals ----------------------------------------------\n AWS_KEY = 'YOUR AWS KEY'\n AWS_SECRET = 'YOUR AWS SECRET'\n\n s3_uploader = S3Uploader(AWS_KEY,\n AWS_SECRET,\n 'backups.your_domain.com')\n\n #--- Easy usage ----------------------------------------------\n #Daily\n s3_uploader.compress_and_upload('test_dir/',\n 'test_dir.%(weekday)s.tgz',\n replace_old=True)\n\n #Monthly\n s3_uploader.compress_and_upload('test_dir/',\n 'test_dir.%(month_name)s.tgz',\n replace_old=True)\n\n #Weekly\n s3_uploader.compress_and_upload('test_dir/',\n 'test_dir.%(week_number)s.tgz',\n replace_old=True)\n\n\n #--- Generic usage ----------------------------------------------\n file_key = generate_file_key('test_dir.%(weekday)s.tgz')\n gz_filename = gunzip_dir('test_dir/', file_key)\n s3_uploader.upload(file_key, gz_filename, replace_old=True)\n os.remove(gz_filename)\n\nCopyright: 2010 by amix\nLicense: BSD.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.amix.dk/", "keywords": "backups amazon s3", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "avoid_disaster", "package_url": "https://pypi.org/project/avoid_disaster/", "platform": "Any", "project_url": "https://pypi.org/project/avoid_disaster/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.amix.dk/" }, "release_url": "https://pypi.org/project/avoid_disaster/1.3/", "requires_dist": null, "requires_python": null, "summary": "Script backups easily to Amazon S3", "version": "1.3" }, "last_serial": 866640, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "9b2f6027ebbb5f7c1d0008f65a4031cf", "sha256": "c037a6e151908b435db87b9d5a8ded24df77e87fefab7f49a94810275b264df3" }, "downloads": -1, "filename": "avoid_disaster-1.0-py2.6.egg", "has_sig": false, "md5_digest": "9b2f6027ebbb5f7c1d0008f65a4031cf", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 5595, "upload_time": "2010-06-29T15:15:58", "url": "https://files.pythonhosted.org/packages/4d/2c/1e6f072f17459f276d3cbf1a6e4b5fc0caaa3019bf5dbc28651c78f52050/avoid_disaster-1.0-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "828e34fe43877dbc48c9c78919603891", "sha256": "bdb2a8f6cac738e4132a843900744ffc3085f6ec562b71151698f53cb475d282" }, "downloads": -1, "filename": "avoid_disaster-1.0.tar.gz", "has_sig": false, "md5_digest": "828e34fe43877dbc48c9c78919603891", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2570, "upload_time": "2010-06-29T15:15:58", "url": "https://files.pythonhosted.org/packages/3a/d0/241b985d35665c20e897387d3cb9939d163f1aa6cf8f4c008ccdd85a98f8/avoid_disaster-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d043ef6b137a363d987de5d5b92dcbaa", "sha256": "b8cce448d862b01dd245be44779f9a5f693a1e33d159d84eb8a2d6fdb55bd5a1" }, "downloads": -1, "filename": "avoid_disaster-1.1-py2.6.egg", "has_sig": false, "md5_digest": "d043ef6b137a363d987de5d5b92dcbaa", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 5937, "upload_time": "2010-06-29T19:26:18", "url": "https://files.pythonhosted.org/packages/bc/e9/0f6aa0f60fcf15b1e1a39b12c7804278450b2dd86bf56e51cd65a8406651/avoid_disaster-1.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "8048a9641819851d4850296d87970e52", "sha256": "15a966075959a5af30d47f26aee985b98c2b443a25f74cea1943ac502c6f9929" }, "downloads": -1, "filename": "avoid_disaster-1.1.tar.gz", "has_sig": false, "md5_digest": "8048a9641819851d4850296d87970e52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2911, "upload_time": "2010-06-29T19:26:19", "url": "https://files.pythonhosted.org/packages/4d/2f/a6b7781fda8b41133215323fca4784280dd1fdec42696ae5eaf2c750f5d9/avoid_disaster-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "88cfffe55d264cedb9d32944e5fa3e7d", "sha256": "1c9f291849a8cc2e4e3176044e278c84a3f2f122f3a2a9c46480784088543fe7" }, "downloads": -1, "filename": "avoid_disaster-1.2-py2.6.egg", "has_sig": false, "md5_digest": "88cfffe55d264cedb9d32944e5fa3e7d", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 6092, "upload_time": "2010-06-29T20:49:48", "url": "https://files.pythonhosted.org/packages/2f/43/0e2090ea224fdea83f1a21c8c9b735f6613873f428763eacfb7f92474e6a/avoid_disaster-1.2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "7da7b5bba1628172aa2db01661a9aa12", "sha256": "20dce435221a31222b4f61f3ebe5b3d9a097324d8d70bef20fb2cf2d10b00a87" }, "downloads": -1, "filename": "avoid_disaster-1.2.tar.gz", "has_sig": false, "md5_digest": "7da7b5bba1628172aa2db01661a9aa12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2942, "upload_time": "2010-06-29T20:49:48", "url": "https://files.pythonhosted.org/packages/c0/90/99483c017e889bc4b0ad06c70129e1d0ba648f818970c43e0d1837c6c9da/avoid_disaster-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "b88621b88af41634b137057c493c40e4", "sha256": "10c648c002524ab546c31d1b75d35f5b3458347c56040666db841d32a7528513" }, "downloads": -1, "filename": "avoid_disaster-1.3-py2.7.egg", "has_sig": false, "md5_digest": "b88621b88af41634b137057c493c40e4", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 6145, "upload_time": "2013-09-16T10:21:50", "url": "https://files.pythonhosted.org/packages/93/ff/83172584631daccb37dd57b3fa9f663d31cdca31e662934d727876ac989d/avoid_disaster-1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b747de47e5264d55f2106967e7ce8abd", "sha256": "619a6e6db716614889d78f8b79d53fff1f8e2c41e7ed3a1c822cbe75b108bed9" }, "downloads": -1, "filename": "avoid_disaster-1.3.tar.gz", "has_sig": false, "md5_digest": "b747de47e5264d55f2106967e7ce8abd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2950, "upload_time": "2013-09-16T10:21:48", "url": "https://files.pythonhosted.org/packages/44/57/f480db418ab851214e8dd86b1dda8f3f4678a1491e04efea7a8f0b670416/avoid_disaster-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b88621b88af41634b137057c493c40e4", "sha256": "10c648c002524ab546c31d1b75d35f5b3458347c56040666db841d32a7528513" }, "downloads": -1, "filename": "avoid_disaster-1.3-py2.7.egg", "has_sig": false, "md5_digest": "b88621b88af41634b137057c493c40e4", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 6145, "upload_time": "2013-09-16T10:21:50", "url": "https://files.pythonhosted.org/packages/93/ff/83172584631daccb37dd57b3fa9f663d31cdca31e662934d727876ac989d/avoid_disaster-1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b747de47e5264d55f2106967e7ce8abd", "sha256": "619a6e6db716614889d78f8b79d53fff1f8e2c41e7ed3a1c822cbe75b108bed9" }, "downloads": -1, "filename": "avoid_disaster-1.3.tar.gz", "has_sig": false, "md5_digest": "b747de47e5264d55f2106967e7ce8abd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2950, "upload_time": "2013-09-16T10:21:48", "url": "https://files.pythonhosted.org/packages/44/57/f480db418ab851214e8dd86b1dda8f3f4678a1491e04efea7a8f0b670416/avoid_disaster-1.3.tar.gz" } ] }