2017 © Pedro PelĂĄez
 

library archivemanager

Archive Manager

image

efrogg/archivemanager

Archive Manager

  • Wednesday, June 29, 2016
  • by raphael-homann
  • Repository
  • 1 Watchers
  • 0 Stars
  • 14 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

ArchiveManager

ce script permet de nettoyer progressivement des backups., (*1)

archivage dossier simple

$iterator = new SimpleDirectoryIterator();
$iterator -> setPath(__DIR__."/test","/^([0-9]{4}-[0-9]{2}-[0-9]{2}).*$/");
$iterator -> setSimulate(true);

$manager = new ArchiveManager();
// pendant une semaine, on conserve tous les backups
$manager -> addPeriod(new ArchivePeriod(new DateTime("-1 week"))) -> keepAll();
// jusqu'Ă  1 mois, un par semaine'
$manager -> addPeriod(new ArchivePeriod(new DateTime("-1 month"))) -> segmentBy(new DateInterval("P1W")) -> keepFirst();
// jusqu'Ă  1 an, 1 backup tous les mois
$manager -> addPeriod(new ArchivePeriod(new DateTime("-1 year"))) -> segmentBy(new DateInterval("P1M")) -> keepFirst();
// un seul backup par an au-delĂ 
$manager -> addPeriod(new ArchivePeriod(new DateTime("-2 year"))) -> keepFirst();
$manager
    -> setIterator($iterator)
    -> cleanArchives();

test graphique

use eFrogg\ArchiveManager\ArchiveManager;
use eFrogg\ArchiveManager\ArchivePeriod;
use eFrogg\ArchiveManager\SimpleDirectoryIterator;
use eFrogg\ArchiveManager\Tests\TestArchiveManager;

require_once __DIR__."/../vendor/autoload.php";



$manager = new ArchiveManager();
$manager -> realMode = true;
// pendant une semaine, on conserve tous les backups
$manager -> addPeriod(new ArchivePeriod(new DateTime("-1 week"))) -> keepAll();
// jusqu'Ă  2 mois, un par semaine'
$manager -> addPeriod(new ArchivePeriod(new DateTime("-2 month"))) -> segmentBy(new DateInterval("P1W")) -> keepFirst();
// jusqu'Ă  1 an, 1 backup tous les 30 jours
$manager -> addPeriod(new ArchivePeriod(new DateTime("-1 year"))) -> segmentBy(new DateInterval("P30D")) -> keepFirst();
// jusqu'Ă  2 sans, 2 backups par an
$manager -> addPeriod(new ArchivePeriod(new DateTime("-2 year"))) -> segmentBy(new DateInterval("P6M"))-> keepFirst();
// puis on conserve indéfiniment

$testeur = new TestArchiveManager($manager);
$testeur -> test(new DateTime("-1 year"),new DateTime("+ 1 year"),new DateInterval("P1D"),365,new DateInterval("P1D"));

The Versions

29/06 2016

dev-master

9999999-dev https://github.com/raphael-homann/ArchiveManager

Archive Manager

  Sources   Download

LGPL

The Requires

  • php >=5.4.0

 

backup

20/04 2016

v0.2

0.2.0.0 https://github.com/raphael-homann/ArchiveManager

Archive Manager

  Sources   Download

LGPL

The Requires

  • php >=5.4.0

 

backup

20/04 2016

v0.1.1

0.1.1.0 https://github.com/raphael-homann/ArchiveManager

Archive Manager

  Sources   Download

LGPL

The Requires

  • php >=5.4.0

 

backup

20/04 2016

v0.1

0.1.0.0 https://github.com/raphael-homann/ArchiveManager

Archive Manager

  Sources   Download

LGPL

The Requires

  • php >=5.4.0

 

backup