Fix use of the lowmemorydump for batch of backup
This commit is contained in:
parent
25c074668d
commit
1e3e26e7f9
@ -124,6 +124,7 @@ $result = dol_mkdir($outputdir);
|
||||
|
||||
$utils = new Utils($db);
|
||||
|
||||
$lowmemorydump = GETPOSTISSET("lowmemorydump") ? GETPOST("lowmemorydump") : getDolGlobalString('MAIN_LOW_MEMORY_DUMP');
|
||||
|
||||
// MYSQL
|
||||
if ($what == 'mysql') {
|
||||
@ -144,7 +145,7 @@ if ($what == 'mysql') {
|
||||
}
|
||||
|
||||
if (!$errormsg) {
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file);
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file, 0, 0, $lowmemorydump);
|
||||
$errormsg = $utils->error;
|
||||
$_SESSION["commandbackuplastdone"] = $utils->result['commandbackuplastdone'];
|
||||
$_SESSION["commandbackuptorun"] = $utils->result['commandbackuptorun'];
|
||||
@ -153,7 +154,7 @@ if ($what == 'mysql') {
|
||||
|
||||
// MYSQL NO BIN
|
||||
if ($what == 'mysqlnobin') {
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file);
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file, 0, 0, $lowmemorydump);
|
||||
|
||||
$errormsg = $utils->error;
|
||||
$_SESSION["commandbackuplastdone"] = $utils->result['commandbackuplastdone'];
|
||||
@ -182,7 +183,7 @@ if ($what == 'postgresql') {
|
||||
}
|
||||
|
||||
if (!$errormsg) {
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file);
|
||||
$utils->dumpDatabase(GETPOST('compression', 'alpha'), $what, 0, $file, 0, 0, $lowmemorydump);
|
||||
$errormsg = $utils->error;
|
||||
$_SESSION["commandbackuplastdone"] = $utils->result['commandbackuplastdone'];
|
||||
$_SESSION["commandbackuptorun"] = $utils->result['commandbackuptorun'];
|
||||
|
||||
@ -191,9 +191,10 @@ class Utils
|
||||
* @param string $file 'auto' or filename to build
|
||||
* @param int $keeplastnfiles Keep only last n files (not used yet)
|
||||
* @param int $execmethod 0=Use default method (that is 1 by default), 1=Use the PHP 'exec' - need size of dump in memory, but low memory method is used if GETPOST('lowmemorydump') is set, 2=Use the 'popen' method (low memory method)
|
||||
* @param int $lowmemorydump 1=Use the low memory method
|
||||
* @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
|
||||
*/
|
||||
public function dumpDatabase($compression = 'none', $type = 'auto', $usedefault = 1, $file = 'auto', $keeplastnfiles = 0, $execmethod = 0)
|
||||
public function dumpDatabase($compression = 'none', $type = 'auto', $usedefault = 1, $file = 'auto', $keeplastnfiles = 0, $execmethod = 0, $lowmemorydump = 0)
|
||||
{
|
||||
global $db, $conf, $langs, $dolibarr_main_data_root;
|
||||
global $dolibarr_main_db_name, $dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_port, $dolibarr_main_db_pass;
|
||||
@ -343,8 +344,6 @@ class Utils
|
||||
|
||||
$handle = '';
|
||||
|
||||
$lowmemorydump = GETPOSTISSET("lowmemorydump") ? GETPOST("lowmemorydump") : getDolGlobalString('MAIN_LOW_MEMORY_DUMP');
|
||||
|
||||
// Start call method to execute dump
|
||||
$fullcommandcrypted = $command." ".$paramcrypted." 2>&1";
|
||||
$fullcommandclear = $command." ".$paramclear." 2>&1";
|
||||
|
||||
@ -99,7 +99,7 @@ class modCron extends DolibarrModules
|
||||
// Cronjobs
|
||||
$this->cronjobs = array(
|
||||
0=>array('entity'=>0, 'label'=>'PurgeDeleteTemporaryFilesShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'purgeFiles', 'parameters'=>'tempfilesold+logfiles', 'comment'=>'PurgeDeleteTemporaryFiles', 'frequency'=>2, 'unitfrequency'=>3600 * 24 * 7, 'priority'=>50, 'status'=>1, 'test'=>true),
|
||||
1=>array('entity'=>0, 'label'=>'MakeLocalDatabaseDumpShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'dumpDatabase', 'parameters'=>'none,auto,1,auto,10', 'comment'=>'MakeLocalDatabaseDump', 'frequency'=>1, 'unitfrequency'=>3600 * 24 * 7, 'priority'=>90, 'status'=>0, 'test'=>'in_array($conf->db->type, array(\'mysql\', \'mysqli\'))'),
|
||||
1=>array('entity'=>0, 'label'=>'MakeLocalDatabaseDumpShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'dumpDatabase', 'parameters'=>'none,auto,1,auto,10,0,0', 'comment'=>'MakeLocalDatabaseDump', 'frequency'=>1, 'unitfrequency'=>3600 * 24 * 7, 'priority'=>90, 'status'=>0, 'test'=>'in_array($conf->db->type, array(\'mysql\', \'mysqli\'))'),
|
||||
2=>array('entity'=>0, 'label'=>'MakeSendLocalDatabaseDumpShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'sendBackup', 'parameters'=>',,,,,sql', 'comment'=>'MakeSendLocalDatabaseDump', 'frequency'=>1, 'unitfrequency'=>604800, 'priority'=>91, 'status'=>0, 'test'=>'!empty($conf->global->MAIN_ALLOW_BACKUP_BY_EMAIL) && in_array($conf->db->type, array(\'mysql\', \'mysqli\'))'),
|
||||
// 1=>array('entity'=>0, 'label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24)
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user