{ "info": { "author": "Max Harper", "author_email": "maxharp3r@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: System :: Archiving :: Backup" ], "description": "Archive Rotator\n===============\n\n.. image:: https://img.shields.io/pypi/v/archive-rotator.svg\n :target: https://pypi.python.org/pypi/archive-rotator\n\n.. image:: https://img.shields.io/travis/maxharp3r/archive-rotator.svg\n :target: https://travis-ci.org/maxharp3r/archive-rotator\n\n.. image:: https://readthedocs.org/projects/archive-rotator/badge/?version=latest\n :target: https://readthedocs.org/projects/archive-rotator/?badge=latest\n :alt: Documentation Status\n\nFlexible utility for rotating backup files.\n\n* Free software: MIT license\n* Documentation: https://archive-rotator.readthedocs.org.\n* Code: https://github.com/maxharp3r/archive-rotator\n\nThis utility rotates files - typically backup archives. It offers three rotation algorithms - FIFO, Tower of Hanoi, and\ntiered (a generalization of grandfather-father-son). It requires no configuration file, just command-line parameters.\nThe script is stand-alone (python required) and tracks its state by applying a naming convention to rotated files.\n\nLearn about the concept of archive rotation: http://en.wikipedia.org/wiki/Backup_rotation_scheme\n\n\nExample Use\n-----------\n\nWe assume that you have an archive, say `/path/to/foo/mydump.tgz` that is the result of an external process (e.g., `tar\n-czf`, or `mysqldump`) that recurs (e.g., using `cron`). You will use this script to add this file into a rotation set.\nIf the size of the set is greater than the maximum number of files to keep (configurable), then the rotation set will\nbe trimmed according to a rotation algorithm, which is configurable.\n\nExample of running::\n\n archive-rotator -v -n 5 /path/to/foo/mydump.tgz\n\nThis will rename mydump.tgz to something like this::\n\n /path/to/foo/mydump.tgz.2012-12-20-133640.backup-0\n\nGiven this configuration, the rotation script automatically keep at most 5 files in the rotation. When the script is run\nsix times, the set of archives would be too big, so the oldest will be deleted. This is an example of the simple (FIFO)\nrotation algorithm.\n\n\n\n\n=======\nHistory\n=======\n\n0.2.1 (2015-12-03)\n------------------\n\n* Improve and document programmatic access\n\n0.2.0 (2015-12-03)\n------------------\n\n* Much improved test coverage and refactored codebase\n* Added --destination-path parameter\n\n0.1.0 (2015-11-23)\n------------------\n\n* First release on PyPI", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxharp3r/archive-rotator", "keywords": "backup rotation", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "archive-rotator", "package_url": "https://pypi.org/project/archive-rotator/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/archive-rotator/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/maxharp3r/archive-rotator" }, "release_url": "https://pypi.org/project/archive-rotator/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Flexible utility for rotating backup files.", "version": "0.2.1" }, "last_serial": 1845629, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "cab900c0a57dfb1011c33d412fc0d46f", "sha256": "24c8f40685dbc181c1b97b3b420dec4286ae497e7affa4df76f2bc0004907ce3" }, "downloads": -1, "filename": "archive_rotator-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cab900c0a57dfb1011c33d412fc0d46f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11775, "upload_time": "2015-11-24T22:14:03", "url": "https://files.pythonhosted.org/packages/58/a8/75283b59f4b85c4791d6ea7ac3fc1988129f64612717dbe3cc145e2e9f73/archive_rotator-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1ee3a9ef059772109724ca8bc552570", "sha256": "4634e24356d3be60f3906cda6147eb0a3939e9f37bfce4af87051fd3c20e5da3" }, "downloads": -1, "filename": "archive-rotator-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c1ee3a9ef059772109724ca8bc552570", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18895, "upload_time": "2015-11-24T22:07:57", "url": "https://files.pythonhosted.org/packages/e3/20/23d61283cde1d73ba7fcf20832a9c08a40d4c19350f35f0f09909b5f14f7/archive-rotator-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "31f8b1f67ab908965957b8f3adca2eae", "sha256": "449094f96472d11756d28c3fbf2dc4eeeef713220b5b8f7a87afcc80382dfa8b" }, "downloads": -1, "filename": "archive_rotator-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31f8b1f67ab908965957b8f3adca2eae", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9221, "upload_time": "2015-12-03T19:47:43", "url": "https://files.pythonhosted.org/packages/9a/74/3a1fb086446a69ecf4b1f8e76c2820fbe00b301270a202c24477c095ec0b/archive_rotator-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45de6d1d0af04dcfcd185e51146f54f7", "sha256": "fb6f74b8f68b62ad4a0ac782bd8253b514ddcc191242832e6edc2d416fb3d3c2" }, "downloads": -1, "filename": "archive-rotator-0.2.0.tar.gz", "has_sig": false, "md5_digest": "45de6d1d0af04dcfcd185e51146f54f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19762, "upload_time": "2015-12-03T19:47:36", "url": "https://files.pythonhosted.org/packages/f7/8f/cf06ed0acb46392a679402fe9bb4c3187897127e7e7fc882b17e58e0de5b/archive-rotator-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2b379b71bb07e5a06df50fedb6330649", "sha256": "fa3c8429a83c5740a0c695023bbe1754a6b9ac2df64dbfc4344432df0d34a2b9" }, "downloads": -1, "filename": "archive_rotator-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2b379b71bb07e5a06df50fedb6330649", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9451, "upload_time": "2015-12-03T20:19:48", "url": "https://files.pythonhosted.org/packages/a2/48/8928fd7a285c8cf0c4f08b606c69604a45d096df67ab7b6fa619dd67d06e/archive_rotator-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa2425b41abe221ea9347cd83c3ca290", "sha256": "5f1f01d5cc50b0fb79df3dd1042a62c1e2f693a1d484df78ecb5900232eee909" }, "downloads": -1, "filename": "archive-rotator-0.2.1.tar.gz", "has_sig": false, "md5_digest": "aa2425b41abe221ea9347cd83c3ca290", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20205, "upload_time": "2015-12-03T20:19:37", "url": "https://files.pythonhosted.org/packages/b6/a8/09d14cf163114e4a71d438e4c6b6345650ee116ace1f6bf51c520f14d38b/archive-rotator-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2b379b71bb07e5a06df50fedb6330649", "sha256": "fa3c8429a83c5740a0c695023bbe1754a6b9ac2df64dbfc4344432df0d34a2b9" }, "downloads": -1, "filename": "archive_rotator-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2b379b71bb07e5a06df50fedb6330649", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9451, "upload_time": "2015-12-03T20:19:48", "url": "https://files.pythonhosted.org/packages/a2/48/8928fd7a285c8cf0c4f08b606c69604a45d096df67ab7b6fa619dd67d06e/archive_rotator-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa2425b41abe221ea9347cd83c3ca290", "sha256": "5f1f01d5cc50b0fb79df3dd1042a62c1e2f693a1d484df78ecb5900232eee909" }, "downloads": -1, "filename": "archive-rotator-0.2.1.tar.gz", "has_sig": false, "md5_digest": "aa2425b41abe221ea9347cd83c3ca290", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20205, "upload_time": "2015-12-03T20:19:37", "url": "https://files.pythonhosted.org/packages/b6/a8/09d14cf163114e4a71d438e4c6b6345650ee116ace1f6bf51c520f14d38b/archive-rotator-0.2.1.tar.gz" } ] }