Manage backup archive files
Project description
[![Build Status](https://travis-ci.com/ccollicutt/archive-manager.svg?branch=master)](https://travis-ci.com/ccollicutt/archive-manager)
# Archive Manager
Manage files in directories in a backup root directory. It will ensure the total size of all the files in the directories are less than a maximum size, but will always keep the minimum number of files. Once the total size is ensured, it will then delete files until the maximum number of files exist.
The assumption is that some other process, such as a backup script, is generating "archives" in a directory or directories. `archive-manager` will help to manage those files to ensure that there is always room for the most recent backup file.
## Requirements
* This will probably only run on Linux
## Installation
Future releases will include installation via pip and RPM.
```bash
virtualenv archive-manager-venv
. archive-manager-venv/bin/activate
git clone <this repo>
cd archive-manager
pip install .
```
Now that it's installed, the `archive-manager` command should be available.
```bash
$ which archive-manager
<venv>/bin/archive-manager
```
## Usage
By default `archive-manager` looks for its config file in `/etc/archive-manager/config.yml`. It does not require any options to run, and can simply be executed by `archive-manager`.
Options:
```bash
$ archive-manager --help
Usage: archive-manager [OPTIONS] COMMAND [ARGS]...
Manage size and number of files in a set of directories
Options:
-c, --config TEXT Config file location
-v, --verbose Set to verbose mode
--help Show this message and exit.
```
## Configuration File
There is an [example configuration](config.yml.example) file in this repository. All of the options in the example file are required.
```bash
mkdir /etc/archive-manager
cp config.yaml.example /etc/archive-manager/config.yml
vi /etc/archive-manager/config.yml #edit file to suit requirements
```
## Test
### Unit Tests
`make test` will run the available unit tests.
# Archive Manager
Manage files in directories in a backup root directory. It will ensure the total size of all the files in the directories are less than a maximum size, but will always keep the minimum number of files. Once the total size is ensured, it will then delete files until the maximum number of files exist.
The assumption is that some other process, such as a backup script, is generating "archives" in a directory or directories. `archive-manager` will help to manage those files to ensure that there is always room for the most recent backup file.
## Requirements
* This will probably only run on Linux
## Installation
Future releases will include installation via pip and RPM.
```bash
virtualenv archive-manager-venv
. archive-manager-venv/bin/activate
git clone <this repo>
cd archive-manager
pip install .
```
Now that it's installed, the `archive-manager` command should be available.
```bash
$ which archive-manager
<venv>/bin/archive-manager
```
## Usage
By default `archive-manager` looks for its config file in `/etc/archive-manager/config.yml`. It does not require any options to run, and can simply be executed by `archive-manager`.
Options:
```bash
$ archive-manager --help
Usage: archive-manager [OPTIONS] COMMAND [ARGS]...
Manage size and number of files in a set of directories
Options:
-c, --config TEXT Config file location
-v, --verbose Set to verbose mode
--help Show this message and exit.
```
## Configuration File
There is an [example configuration](config.yml.example) file in this repository. All of the options in the example file are required.
```bash
mkdir /etc/archive-manager
cp config.yaml.example /etc/archive-manager/config.yml
vi /etc/archive-manager/config.yml #edit file to suit requirements
```
## Test
### Unit Tests
`make test` will run the available unit tests.
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
archive-manager-0.1.2.tar.gz
(6.6 kB
view hashes)