diff --git a/lib/Froxlor/Cron/System/BackupCron.php b/lib/Froxlor/Cron/System/BackupCron.php index 33a7fe11..a87207a8 100644 --- a/lib/Froxlor/Cron/System/BackupCron.php +++ b/lib/Froxlor/Cron/System/BackupCron.php @@ -156,11 +156,15 @@ class BackupCron extends FroxlorCron $sql_root = Database::getSqlData(); Database::needRoot(false); + $mysqlcnf_file = tempnam("/tmp", "frx"); + $mysqlcnf = "[mysqldump]\npassword=".$sql_root['passwd']."\n"; + file_put_contents($mysqlcnf_file, $mysqlcnf); + $has_dbs = false; while ($row = $sel_stmt->fetch()) { $cronlog->logAction(FroxlorLogger::CRON_ACTION, LOG_DEBUG, 'shell> mysqldump -u ' . escapeshellarg($sql_root['user']) . ' -pXXXXX ' . $row['databasename'] . ' > ' . FileDir::makeCorrectFile($tmpdir . '/mysql/' . $row['databasename'] . '_' . date('YmdHi', time()) . '.sql')); $bool_false = false; - FileDir::safe_exec('mysqldump -u ' . escapeshellarg($sql_root['user']) . ' -p' . $sql_root['passwd'] . ' ' . $row['databasename'] . ' > ' . FileDir::makeCorrectFile($tmpdir . '/mysql/' . $row['databasename'] . '_' . date('YmdHi', time()) . '.sql'), $bool_false, [ + FileDir::safe_exec('mysqldump --defaults-file=' . escapeshellarg($mysqlcnf_file) .' -u ' . escapeshellarg($sql_root['user']) . ' ' . $row['databasename'] . ' > ' . FileDir::makeCorrectFile($tmpdir . '/mysql/' . $row['databasename'] . '_' . date('YmdHi', time()) . '.sql'), $bool_false, [ '>' ]); $has_dbs = true; @@ -170,6 +174,8 @@ class BackupCron extends FroxlorCron $create_backup_tar_data .= './mysql '; } + unlink($mysqlcnf_file); + unset($sql_root); }