示例#1
0
 /**
  * Execute job.
  *
  * @return void
  */
 public function execute()
 {
     $remoteDirectory = $this->backup->getRemoteDirectory();
     $archiveFile = $this->backup->getArchiveName();
     if (!$this->backup->manager->has("remote://{$remoteDirectory}")) {
         $this->backup->manager->createDir("remote://{$remoteDirectory}");
     }
     $this->backup->manager->move('local://' . $archiveFile, 'remote://' . $this->backup->getRemoteDirectory() . '/' . $archiveFile);
 }
示例#2
0
 /**
  * Remove old backup files.
  *
  * @return void
  */
 public function clearOutdated()
 {
     $files = $this->backup->manager->listContents('remote://' . $this->backup->getRemoteDirectory(), true);
     $count = count($files);
     if (empty($files) || $count <= $this->backup->getNumberOfBackups()) {
         return;
     }
     $remove = $count - $this->backup->getNumberOfBackups();
     asort($files);
     foreach ($files as $key => $file) {
         if ($key + 1 > $remove) {
             return;
         }
         $this->backup->manager->delete('remote://' . $this->backup->getRemoteDirectory() . '/' . $file['basename']);
     }
 }
示例#3
0
 /**
  * @test
  */
 public function sets_and_returns_correct_remote_directory()
 {
     $backup = new Backup($this->dropboxInstance(), $this->working);
     $backup->setRemoteDirectory('test');
     $this->assertEquals('test', $backup->getRemoteDirectory());
 }