• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitignoreH A D07-Jul-2016177 1514

.travis.ymlH A D07-Jul-2016727 2016

LICENSEH A D07-Jul-2016555 1410

MakefileH A D03-May-20221.8 KiB8977

Makefile.makH A D07-Jul-2016205 135

Makefile.projH A D07-Jul-20161.3 KiB4632

README.mdH A D07-Jul-20162.2 KiB4742

dds-prune.msH A D07-Jul-201611.6 KiB273268

fileprune.1H A D07-Jul-20168.2 KiB245223

fileprune.cH A D07-Jul-201618.2 KiB723577

README.md

1[![Build Status](https://travis-ci.org/dspinellis/fileprune.svg?branch=master)](https://travis-ci.org/dspinellis/fileprune)
2[![Coverity Scan Build Status](https://scan.coverity.com/projects/8473/badge.svg)](https://scan.coverity.com/projects/dspinellis-fileprune)
3
4
5_Fileprune_
6will delete files from the specified set targetting a given distribution
7of the files within time as well as size, number, and age constraints.
8Its main purpose is to keep a set of daily-created backup files
9in managable size,
10while still providing reasonable access to older versions.
11Specifying a size, file number, or age constraint will
12simply remove files starting from the oldest, until the
13constraint is met.
14The distribution specification (exponential, Gaussian (normal), or Fibonacci)
15provides finer control of the files to delete,
16allowing the retention of recent copies and the increasingly
17agressive pruning of the older files.
18The retention schedule specifies the age intervals for which files
19will be retained.
20As an example, an exponential retention schedule for 10 files
21with a base of 2 will be
22```
231 2 4 8 16 32 64 128 256 512 1024
24```
25The above schedule specifies that for the interval of 65 to 128
26days there should be (at least) one retained file (unless constraints
27and options override this setting).
28Retention schedules are always calculated and evaluated in integer days.
29By default _fileprune_ will keep the oldest file within each day interval
30allowing files to migrate from one interval to the next as time goes by.
31It may also keep additional files, if the complete file set satisfies
32the specified constraint.
33The algorithm used for prunning does not assume that the files are
34uniformally distributed;
35_fileprune_ will successfully prune file collections stored at
36irregular intervals.
37
38# Project home
39You can download the source and executables from the
40[project's page](http://www.spinellis.gr/sw/unix/fileprune).
41You can also read more in the article
42[Organized pruning of file sets](http://www.spinellis.gr/pubs/trade/2003-login-prune/html/prune.html).  _;login:_, 28(3):39-42, June 2003.
43
44# Building
45* To build the program under Unix, Linux, Cygwin run ```make```
46* To build the program under Microsoft C/C++ run ```nmake /f Makefile.mak```
47