Skip to main content

Flexible utility for rotating backup files.

Project description

https://img.shields.io/pypi/v/archive-rotator.svg https://img.shields.io/travis/maxharp3r/archive-rotator.svg Documentation Status

Flexible utility for rotating backup files.

This utility rotates files - typically backup archives. It offers three rotation algorithms - FIFO, Tower of Hanoi, and tiered (a generalization of grandfather-father-son). It requires no configuration file, just command-line parameters. The script is stand-alone (python required) and tracks its state by applying a naming convention to rotated files.

Learn about the concept of archive rotation: http://en.wikipedia.org/wiki/Backup_rotation_scheme

Example Use

We assume that you have an archive, say /path/to/foo/mydump.tgz that is the result of an external process (e.g., tar -czf, or mysqldump) that recurs (e.g., using cron). You will use this script to add this file into a rotation set. If the size of the set is greater than the maximum number of files to keep (configurable), then the rotation set will be trimmed according to a rotation algorithm, which is configurable.

Example of running:

archive-rotator -v -n 5 /path/to/foo/mydump.tgz

This will rename mydump.tgz to something like this:

/path/to/foo/mydump.tgz.2012-12-20-133640.backup-0

Given this configuration, the rotation script automatically keep at most 5 files in the rotation. When the script is run six times, the set of archives would be too big, so the oldest will be deleted. This is an example of the simple (FIFO) rotation algorithm.

History

0.2.1 (2015-12-03)

  • Improve and document programmatic access

0.2.0 (2015-12-03)

  • Much improved test coverage and refactored codebase
  • Added –destination-path parameter

0.1.0 (2015-11-23)

  • First release on PyPI

Project details


Download files

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

Files for archive-rotator, version 0.2.1
Filename, size & hash File type Python version Upload date
archive_rotator-0.2.1-py2.py3-none-any.whl (9.5 kB) View hashes Wheel 2.7
archive-rotator-0.2.1.tar.gz (20.2 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page