Пример #1
0
 /**
  * (non-PHPDoc)
  *
  * @see    \phpbu\App\Backup\Sync::sync()
  * @param  \phpbu\App\backup\Target $target
  * @param  \phpbu\App\Result        $result
  * @throws \phpbu\App\Backup\Sync\Exception
  */
 public function sync(Target $target, Result $result)
 {
     $sourcePath = $target->getPathname();
     $targetPath = $this->path . $target->getFilename();
     $options = array('adapter' => ObjectStorage_Http_Client::SOCKET, 'timeout' => 20);
     $objectStorage = new ObjectStorage($this->host, $this->user, $this->secret, $options);
     $result->debug('softlayer source: ' . $sourcePath);
     $result->debug('softlayer target: ' . $targetPath);
     try {
         /** @var \ObjectStorage_Container $container */
         $container = $objectStorage->with($this->container . $targetPath)->setLocalFile($sourcePath)->setMeta('description', 'PHPBU Backup: ' . date('r', time()))->setHeader('Content-Type', $target->getMimeType());
         $container->create();
     } catch (\Exception $e) {
         throw new Exception($e->getMessage(), null, $e);
     }
     $result->debug('upload: done');
 }