mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-28 14:44:17 +01:00
Compare commits
2 Commits
support/3.
...
feature/71
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f24bcedd8 | ||
|
|
4ecf81d032 |
@@ -96,7 +96,7 @@ try {
|
||||
//
|
||||
$sMySQLBinDir = MetaModel::GetConfig()->GetModuleSetting('itop-backup', 'mysql_bindir', '');
|
||||
$sMySQLBinDir = utils::ReadParam('mysql_bindir', $sMySQLBinDir, true);
|
||||
$sMySQLDump = DBBackup::MakeSafeMySQLCommand($sMySQLBinDir, 'mysqldump');
|
||||
$sMySQLDump = DBBackup::MakeSafeMySQLCommand($sMySQLBinDir, DBBackup::GetDumpFunction());
|
||||
$sCommand = "$sMySQLDump -V 2>&1";
|
||||
|
||||
$aOutput = [];
|
||||
|
||||
@@ -346,7 +346,7 @@ class DBBackup
|
||||
$this->LogInfo("Starting backup of $this->sDBHost/$this->sDBName(suffix:'$this->sDBSubName')");
|
||||
$sMySQLBinDir = utils::ReadParam('mysql_bindir', $this->sMySQLBinDir, true);
|
||||
|
||||
$sMySQLDump = $this->MakeSafeMySQLCommand($sMySQLBinDir, 'mysqldump');
|
||||
$sMySQLDump = $this->MakeSafeMySQLCommand($sMySQLBinDir, DBBackup::GetDumpFunction());
|
||||
|
||||
// Store the results in a temporary file
|
||||
$sTmpFileName = self::EscapeShellArg($sBackupFileName);
|
||||
@@ -603,6 +603,16 @@ EOF;
|
||||
|
||||
return '"'.$sMySQLCommand.'"';
|
||||
}
|
||||
|
||||
public static function GetDumpFunction(): string
|
||||
{
|
||||
$version = CMDBSource::QueryToScalar('SELECT VERSION()');
|
||||
if (is_string($version) && stripos($version, 'MariaDB') !== false) {
|
||||
return 'mariadb-dump';
|
||||
}
|
||||
|
||||
return 'mysqldump';
|
||||
}
|
||||
}
|
||||
|
||||
class TarGzArchive implements BackupArchive
|
||||
|
||||
@@ -559,12 +559,15 @@ class SetupUtils
|
||||
$aResult[] = new CheckResult(CheckResult::ERROR, "The PHP exec() function has been disabled on this server");
|
||||
}
|
||||
|
||||
MetaModel::LoadConfig(utils::GetConfig());
|
||||
// availability of mysqldump
|
||||
if (empty($sMySQLBinDir) && null != MetaModel::GetConfig()) {
|
||||
$sMySQLBinDir = MetaModel::GetConfig()->GetModuleSetting('itop-backup', 'mysql_bindir', '');
|
||||
}
|
||||
try {
|
||||
$sMySQLDump = DBBackup::MakeSafeMySQLCommand($sMySQLBinDir, 'mysqldump');
|
||||
$oConfig = MetaModel::GetConfig();
|
||||
CMDBSource::InitFromConfig($oConfig);
|
||||
$sMySQLDump = DBBackup::MakeSafeMySQLCommand($sMySQLBinDir, DBBackup::GetDumpFunction());
|
||||
} catch (Exception $e) {
|
||||
$aResult[] = new CheckResult(CheckResult::ERROR, $e->getMessage());
|
||||
return $aResult;
|
||||
|
||||
Reference in New Issue
Block a user