/** * Builds directories for all buckets and pickupdir * * @param \BackupStore $store * @return int returnstate * @author : Rafał Trójniak rafal@trojniak.net */ function run(\BackupStore $store) { echo "== Build\n"; $dirs=$store->getDirs(); $dirs['pickup']=$store->getPickup(); $ret=0; foreach($dirs as $id=>$dir){ echo "[$id]:"; $path=$dir->getPath(); if(!is_dir($path)){ echo "\tC"; if(!mkdir($path, 0777, true)){ echo "! - failed to create"; $ret++; } } echo "\n"; } if($ret===0){ return true; } return $ret; }
/** * Run the command * * @param \BackupStore $store * @return int Status of the command (to shell) * @author : Rafał Trójniak rafal@trojniak.net */ function run(\BackupStore $store) { echo "== List pickups\n"; $pickup=$store->getPickup(); foreach($pickup->getBackups() as $backup){ echo $backup->getCreation()->format('Y-m-d H:i T')."\n"; } return true; }
/** * Cleans pickup according by rules * * @param \BackupStore $store * @return int returnstate * @author : Rafał Trójniak rafal@trojniak.net */ function run(\BackupStore $store) { echo "== Delete old pickup\n"; $pickup=$store->getPickup(); $toClean=$pickup->clean(); foreach($toClean as $backup){ echo "\t-\t".$backup->getCreation()->format(\DateTime::ISO8601)."\n"; } return true; }
/** * Verify backup using sumfile * * @param \BackupStore $store * @return int returnstate * @author : Rafał Trójniak rafal@trojniak.net */ function run(\BackupStore $store) { echo "== Verify\n"; if(is_string($this->backup)){ $fileinfo = new \SplFileInfo($this->backup); $backup=\Backup::create($fileinfo); $backups=array($backup); }else{ $pickup = $store->getPickup(); $backups=$pickup->getBackups(); } return $this->runVerify($backups,$store); }
/** * Runs rotating (rotates backup from pickup to backupdirs) * * @param \BackupStore $store * @return int returnstate * @author : Rafał Trójniak rafal@trojniak.net */ function run(\BackupStore $store) { echo "== List rotating\n"; $dirs=$store->getDirs(); $pickup=$store->getPickup(); foreach($dirs as $id=>$dir){ echo "[$id]:\n"; $pick=$dir->pickup($pickup); foreach($pick as $backup){ echo "\t+\t".$backup->getCreation()->format(\DateTime::ISO8601)."\n"; } } return true; }