protected function dumpDb($filename) { $this->log('Dumping databases'); $user = Config::get($this->local, 'user'); $pass = Config::get($this->local, 'pass'); $dumper = new MySQLDump('localhost', $user, $pass); $dbs = $dumper->listDbs(); // $this->log('Databases: %s', implode(', ', $dbs)); $zip = new ZipArchive(); $zip->open($filename, ZIPARCHIVE::CREATE); foreach ($dbs as $db) { if (empty($db)) { continue; } $this->log('Dump db %s', $db); $dump = $dumper->dumpDatabase($db); $ext = '.sql'; if (function_exists('gzencode')) { $dump = gzencode($dump, 9); $ext .= '.gz'; } $zip->addFromString($db . $ext, $dump); } $this->log('Dump Finished'); $this->log('Zipped Files: %s', $zip->numFiles); $zip->close(); }