Changeset 5619
- Timestamp:
- 01/27/08 09:26:18 (10 months ago)
- Files:
-
- modules/branches/2.4/backup/bin/restoreastdb.php (modified) (3 diffs)
- modules/branches/2.4/backup/module.xml (modified) (1 diff)
- modules/branches/2.4/backup/schedule_functions.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
modules/branches/2.4/backup/bin/restoreastdb.php
r5008 r5619 4 4 5 5 global $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 ); 6 19 7 20 function getconf($filename) { … … 28 41 exit; 29 42 } 30 $dump = file_get_contents("/tmp/ampbackups. $argv[1]/astdb.dump");43 $dump = file_get_contents("/tmp/ampbackups.".$argv[1]."/astdb.dump"); 31 44 $arr = explode("\n", $dump); 45 46 // Before restoring, let's clear out all of the current settings for the main objects 47 // 48 foreach ($deltree as $family) { 49 $astman->database_deltree($family); 50 } 51 32 52 foreach ($arr as $line) { 33 53 $result = preg_match("/\[(.+)\] \[(.+)\]/", $line, $matches); … … 35 55 // and RG (which are only temporary anyway). 36 56 if (!isset($matches[1]) || $matches[1] == "") { continue; } 37 $pattern = "/(^\/\/)|(^\/IAX)|(^\/SIP)|(^\/RG)|(^\/BLKVM)|(^\/FM) /";57 $pattern = "/(^\/\/)|(^\/IAX)|(^\/SIP)|(^\/RG)|(^\/BLKVM)|(^\/FM)|(^\/dundi)/"; 38 58 if (preg_match($pattern, $matches[1])) { continue; } 39 59 preg_match("/(.+)\/(.+)$/", $matches[1], $famkey); modules/branches/2.4/backup/module.xml
r5436 r5619 12 12 </depends> 13 13 <changelog> 14 *2.4.1* #2269 clear several of the astdb objects before restore, and other bug fixes 14 15 *2.4.0* bumbed for 2.4 and italian tranlations 15 16 *2.1.4.8* #2323 allow remote MySQL database modules/branches/2.4/backup/schedule_functions.php
r4903 r5619 17 17 global $type; 18 18 global $asterisk_conf; 19 global $amp_conf; 19 20 if (is_dir($dir)) { 20 21 if (($file!=".") && ($file!="..") && ($file!="")){ … … 26 27 while (($file = readdir($dh)) !== false) 27 28 { 28 if (($file!=".") && ($file!="..") && ($dir==$a sterisk_conf['astvarlibdir']."/backups/"))29 if (($file!=".") && ($file!="..") && ($dir==$amp_conf['ASTVARLIBDIR']."/backups/")) 29 30 echo "<li><a href=\"config.php?type=$type&display=$display&action=restore&dir=$dir/$file\">$file</a><br></li>"; 30 31 else if (($file!=".") && ($file!="..") ) … … 83 84 $Message="Restored All Files in BackupSet"; 84 85 $fileholder=substr($file, 0,-7); 85 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');86 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 86 87 87 88 // First restore voicemial (for some reason if you do it all at once these don't get restored 88 89 // 89 exec('/bin/rm -rf '.$a sterisk_conf['astspooldir'].'/voicemail');90 exec('/bin/rm -rf '.$amp_conf['ASTSPOOLDIR'].'/voicemail'); 90 91 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/voicemail.tar.gz | tar -Pxvz"; 91 92 exec($tar_cmd); … … 105 106 exec($tar_cmd); 106 107 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"; 108 109 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"; 110 111 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 113 121 } else if($filetype=="VoiceMail") { 114 122 $Message="Restored VoiceMail"; 115 123 $fileholder=substr($file, 0,-7); 116 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');117 exec('/bin/rm -rf '.$a sterisk_conf['astspooldir'].'/voicemail');124 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 125 exec('/bin/rm -rf '.$amp_conf['ASTSPOOLDIR'].'/voicemail'); 118 126 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/voicemail.tar.gz | tar -Pxvz"; 119 127 exec($tar_cmd); 120 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');128 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 121 129 } else if($filetype=="Recordings") { 122 130 $Message="Restored System Recordings"; 123 131 $fileholder=substr($file, 0,-7); 124 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');132 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 125 133 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/recordings.tar.gz | tar -Pxvz"; 126 134 exec($tar_cmd); 127 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');135 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 128 136 } else if($filetype=="Configurations"){ 129 137 $Message="Restored System Configuration"; 130 138 $fileholder=substr($file, 0,-7); 131 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');139 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 132 140 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/configurations.tar.gz | tar -Pxvz"; 133 141 exec($tar_cmd); 134 142 $tar_cmd="tar -Pxvz -f \"$dir\" /tmp/ampbackups.$fileholder/asterisk.sql /tmp/ampbackups.$fileholder/astdb.dump"; 135 143 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"; 137 145 exec($sql_cmd); 138 exec($a sterisk_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"); 140 148 } else if($filetype=="FOP"){ 141 149 $Message="Restored Operator Panel"; 142 150 $fileholder=substr($file, 0,-7); 143 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');151 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 144 152 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/fop.tar.gz | tar -Pxvz"; 145 153 exec($tar_cmd); 146 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');154 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 147 155 } else if($filetype=="CDR"){ 148 156 $Message="Restored CDR logs"; 149 157 $fileholder=substr($file, 0,-7); 150 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');158 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 151 159 $tar_cmd="tar -PxvOz -f \"$dir\" /tmp/ampbackups.$fileholder/cdr.tar.gz | tar -Pxvz"; 152 160 exec($tar_cmd); 153 161 $tar_cmd="tar -Pxvz -f \"$dir\" /tmp/ampbackups.$fileholder/asteriskcdr.sql"; 154 162 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"; 156 164 exec($sql_cmd); 157 exec( '/bin/rm -rf /tmp/ampbackups.$fileholder');165 exec("/bin/rm -rf /tmp/ampbackups.$fileholder"); 158 166 } 159 167 return ($Message);
