make(Environment::class); $io = new SymfonyStyle($input, $output); $date = new \DateTime; $backupFile = $config->dbDatabase.'_'.$date->format('Y-m-d').'.sql'; $backupPath = APP_ROOT.'/'.$config->dbBackupPath.$backupFile; if (! is_dir(APP_ROOT.'/'.$config->dbBackupPath)) { mkdir(APP_ROOT.'/'.$config->dbBackupPath); } $output = []; $cmd = sprintf( 'mysqldump --column-statistics=0 --user=\'%s\' --password=\'%s\' --host=%s %s --port=%s --result-file=%s 2>&1', $config->dbUser, $config->dbPassword, $config->dbHost == 'localhost' ? '127.0.0.1' : $config->dbHost, $config->dbDatabase, $config->dbPort, $backupPath ); exec($cmd, $output, $worked); switch ($worked) { case 0: chmod(APP_ROOT.'/'.$config->userFilePath, 0755); $io->success('Success, database was backedup successfully'); return Command::SUCCESS; case 2: case 1: $io->error('There was an issue backing up the database'); $io->listing($output); return Command::FAILURE; } return Command::FAILURE; } }