public function runDump() { $dbUser = $this->container->settings['db']['user']; $dbPass = $this->container->settings['db']['password']; $dbName = $this->container->settings['db']['dbname']; $dbHost = $this->container->settings['db']['host']; switch ($this->container->settings['db']['driver']) { case 'mysql': $cmd = sprintf('mysqldump -u %s --password=%s --host=%s %s', $dbUser, $dbPass, $dbHost, $dbName); break; case 'pgsql': $cmd = sprintf('PGPASSWORD=\'%s\' pg_dump -U %s -h %s %s', $dbPass, $dbUser, $dbHost, $dbName); break; default: CommandHelper::dumpNotice(); return; } passthru(sprintf('%s | gzip --best > %sdbdump.sql.gz', $cmd, $this->container->saveDir)); }