Changeset 5619

Show
Ignore:
Timestamp:
01/27/08 09:26:18 (10 months ago)
Author:
p_lindheimer
Message:

#2269 clear several of the astdb objects before restore, and other bug fixes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.4/backup/bin/restoreastdb.php

    r5008 r5619  
    44 
    55global $argv; 
     6 
     7// Astdb trees that should be deleted before the restore 
     8// 
     9$deltree = array( 
     10        'AMPUSER', 
     11        'DEVICE', 
     12        'CF', 
     13        'CFB', 
     14        'CFU', 
     15        'CW', 
     16        'DND', 
     17        'DAYNIGHT', 
     18); 
    619 
    720function getconf($filename) { 
     
    2841        exit; 
    2942} 
    30 $dump = file_get_contents("/tmp/ampbackups.$argv[1]/astdb.dump"); 
     43$dump = file_get_contents("/tmp/ampbackups.".$argv[1]."/astdb.dump"); 
    3144$arr = explode("\n", $dump); 
     45 
     46// Before restoring, let's clear out all of the current settings for the main objects 
     47// 
     48foreach ($deltree as $family) { 
     49        $astman->database_deltree($family); 
     50} 
     51 
    3252foreach ($arr as $line) { 
    3353        $result = preg_match("/\[(.+)\] \[(.+)\]/", $line, $matches); 
     
    3555        // and RG (which are only temporary anyway). 
    3656        if (!isset($matches[1]) || $matches[1] == "") { continue; } 
    37         $pattern = "/(^\/\/)|(^\/IAX)|(^\/SIP)|(^\/RG)|(^\/BLKVM)|(^\/FM)/"; 
     57        $pattern = "/(^\/\/)|(^\/IAX)|(^\/SIP)|(^\/RG)|(^\/BLKVM)|(^\/FM)|(^\/dundi)/"; 
    3858        if (preg_match($pattern, $matches[1])) { continue; } 
    3959        preg_match("/(.+)\/(.+)$/", $matches[1], $famkey); 
  • modules/branches/2.4/backup/module.xml

    r5436 r5619  
    1212        </depends> 
    1313        <changelog> 
     14                *2.4.1* #2269 clear several of the astdb objects before restore, and other bug fixes 
    1415                *2.4.0* bumbed for 2.4 and italian tranlations 
    1516                *2.1.4.8* #2323 allow remote MySQL database 
  • modules/branches/2.4/backup/schedule_functions.php

    r4903 r5619  
    1717        global $type; 
    1818        global $asterisk_conf; 
     19        global $amp_conf; 
    1920        if (is_dir($dir)) { 
    2021                if (($file!=".") && ($file!="..") && ($file!="")){ 
     
    2627                        while (($file = readdir($dh)) !== false) 
    2728                        { 
    28                                 if (($file!=".") && ($file!="..") && ($dir==$asterisk_conf['astvarlibdir']."/backups/")) 
     29                                if (($file!=".") && ($file!="..") && ($dir==$amp_conf['ASTVARLIBDIR']."/backups/")) 
    2930                                        echo "<li><a href=\"config.php?type=$type&display=$display&action=restore&dir=$dir/$file\">$file</a><br></li>"; 
    3031                                else if (($file!=".") && ($file!="..") ) 
     
    8384                $Message="Restored All Files in BackupSet"; 
    8485                $fileholder=substr($file, 0,-7); 
    85                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     86                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    8687 
    8788                // First restore voicemial (for some reason if you do it all at once these don't get restored 
    8889                // 
    89                 exec('/bin/rm -rf '.$asterisk_conf['astspooldir'].'/voicemail'); 
     90                exec('/bin/rm -rf '.$amp_conf['ASTSPOOLDIR'].'/voicemail'); 
    9091                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/voicemail.tar.gz | tar -Pxvz"; 
    9192                exec($tar_cmd); 
     
    105106                exec($tar_cmd); 
    106107 
    107                 $sql_cmd="mysql -u $amp_conf[AMPDBUSER] -p$amp_conf[AMPDBPASS] < /tmp/ampbackups.$fileholder/asterisk.sql"; 
     108                $sql_cmd="mysql -u ".$amp_conf['AMPDBUSER']." -p".$amp_conf['AMPDBPASS']." < /tmp/ampbackups.$fileholder/asterisk.sql"; 
    108109                exec($sql_cmd); 
    109                 $sql_cmd="mysql -u $amp_conf[AMPDBUSER] -p$amp_conf[AMPDBPASS] < /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 
     110                $sql_cmd="mysql -u ".$amp_conf['AMPDBUSER']." -p".$amp_conf['AMPDBPASS']." < /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 
    110111                exec($sql_cmd); 
    111                 exec($asterisk_conf['astvarlibdir']."/bin/restoreastdb.php $fileholder"); 
    112                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     112                exec($amp_conf['AMPBIN']."/restoreastdb.php $fileholder"); 
     113                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
     114                /* 
     115                $fh = fopen("/tmp/backup.log","w"); 
     116                fwrite($fh,"RET is: $RETCODE Just deleted file\n"); 
     117                fwrite($fh,"OUTPUT: %s\n",print_r($OUTPUT,true)); 
     118                fclose($fh); 
     119                */ 
     120 
    113121        } else if($filetype=="VoiceMail") { 
    114122                $Message="Restored VoiceMail"; 
    115123                $fileholder=substr($file, 0,-7); 
    116                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
    117                 exec('/bin/rm -rf '.$asterisk_conf['astspooldir'].'/voicemail'); 
     124                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
     125                exec('/bin/rm -rf '.$amp_conf['ASTSPOOLDIR'].'/voicemail'); 
    118126                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/voicemail.tar.gz | tar -Pxvz"; 
    119127                exec($tar_cmd); 
    120                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     128                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    121129        } else if($filetype=="Recordings") { 
    122130                $Message="Restored System Recordings"; 
    123131                $fileholder=substr($file, 0,-7); 
    124                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     132                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    125133                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/recordings.tar.gz | tar -Pxvz"; 
    126134                exec($tar_cmd); 
    127                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     135                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    128136        } else if($filetype=="Configurations"){ 
    129137                $Message="Restored System Configuration"; 
    130138                $fileholder=substr($file, 0,-7); 
    131                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     139                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    132140                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/configurations.tar.gz | tar -Pxvz"; 
    133141                exec($tar_cmd); 
    134142                $tar_cmd="tar -Pxvz -f \"$dir\" /tmp/ampbackups.$fileholder/asterisk.sql /tmp/ampbackups.$fileholder/astdb.dump"; 
    135143                exec($tar_cmd); 
    136                 $sql_cmd="mysql -u $amp_conf[AMPDBUSER] -p$amp_conf[AMPDBPASS] < /tmp/ampbackups.$fileholder/asterisk.sql"; 
     144                $sql_cmd="mysql -u ".$amp_conf['AMPDBUSER']." -p".$amp_conf['AMPDBPASS']." < /tmp/ampbackups.$fileholder/asterisk.sql"; 
    137145                exec($sql_cmd); 
    138                 exec($asterisk_conf['astvarlibdir']."/bin/restoreastdb.php $fileholder"); 
    139                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     146                exec($amp_conf['AMPBIN']."/restoreastdb.php $fileholder"); 
     147                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    140148        } else if($filetype=="FOP"){ 
    141149                $Message="Restored Operator Panel"; 
    142150                $fileholder=substr($file, 0,-7); 
    143                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     151                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    144152                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/fop.tar.gz | tar -Pxvz"; 
    145153                exec($tar_cmd); 
    146                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     154                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    147155        } else if($filetype=="CDR"){ 
    148156                $Message="Restored CDR logs"; 
    149157                $fileholder=substr($file, 0,-7); 
    150                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     158                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    151159                $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/cdr.tar.gz | tar -Pxvz"; 
    152160                exec($tar_cmd); 
    153161                $tar_cmd="tar -Pxvz -f \"$dir\" /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 
    154162                exec($tar_cmd); 
    155                 $sql_cmd="mysql -u $amp_conf[AMPDBUSER] -p$amp_conf[AMPDBPASS] < /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 
     163                $sql_cmd="mysql -u ".$amp_conf['AMPDBUSER']." -p".$amp_conf['AMPDBPASS']." < /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 
    156164                exec($sql_cmd); 
    157                 exec('/bin/rm -rf /tmp/ampbackups.$fileholder'); 
     165                exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 
    158166        } 
    159167         return ($Message); 
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads