/** * 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); }
/** * 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']); } }
/** * @test */ public function sets_and_returns_correct_remote_directory() { $backup = new Backup($this->dropboxInstance(), $this->working); $backup->setRemoteDirectory('test'); $this->assertEquals('test', $backup->getRemoteDirectory()); }