|
44 | 44 |
|
45 | 45 | //если есть "поломанные" таблицы, попытаться их "вылечить"
|
46 | 46 | echo "CHECK/REPAIR TABLES\n";
|
47 |
| -$tables = SQLSelect("select TABLE_NAME Tbl from information_schema.tables where TABLE_SCHEMA='".DB_NAME."' AND ENGINE !='MEMORY';"); |
| 47 | +$tables = SQLSelect("select TABLE_NAME Tbl from information_schema.tables where TABLE_SCHEMA='" . DB_NAME . "' AND ENGINE !='MEMORY';"); |
48 | 48 | $total = count($tables);
|
49 | 49 | $checked = 0;
|
50 | 50 | $broken = 0;
|
|
64 | 64 | SQLExec("REPAIR TABLE " . $table . ";");
|
65 | 65 | sleep(10);
|
66 | 66 | $result = SQLSelectOne("CHECK TABLE " . $table . ";");
|
67 |
| - if ($result['Msg_text'] == 'OK') { |
68 |
| - echo "OK\n"; |
69 |
| - $repaired = $repaired + 1; |
70 |
| - } else { |
71 |
| - echo "try to repair extended..."; |
72 |
| - SQLExec("REPAIR TABLE " . $table . " EXTENDED;"); |
73 |
| - sleep(10); |
74 |
| - $result = SQLSelectOne("CHECK TABLE " . $table . ";"); |
75 | 67 | if ($result['Msg_text'] == 'OK') {
|
76 | 68 | echo "OK\n";
|
77 |
| - $repaired = $repaired + 1; |
| 69 | + $repaired = $repaired + 1; |
78 | 70 | } else {
|
79 |
| - echo "try to repair use_frm..."; |
80 |
| - SQLExec("REPAIR TABLE " . $table . " USE_FRM;"); |
| 71 | + echo "try to repair extended..."; |
| 72 | + SQLExec("REPAIR TABLE " . $table . " EXTENDED;"); |
81 | 73 | sleep(10);
|
| 74 | + $result = SQLSelectOne("CHECK TABLE " . $table . ";"); |
| 75 | + if ($result['Msg_text'] == 'OK') { |
| 76 | + echo "OK\n"; |
| 77 | + $repaired = $repaired + 1; |
| 78 | + } else { |
| 79 | + echo "try to repair use_frm..."; |
| 80 | + SQLExec("REPAIR TABLE " . $table . " USE_FRM;"); |
| 81 | + sleep(10); |
82 | 82 | $result = SQLSelectOne("CHECK TABLE " . $table . ";");
|
83 |
| - if ($result['Msg_text'] == 'OK') { |
84 |
| - echo "OK\n"; |
| 83 | + if ($result['Msg_text'] == 'OK') { |
| 84 | + echo "OK\n"; |
85 | 85 | $repaired = $repaired + 1;
|
86 |
| - } else { |
87 |
| - echo "NO RESULT(...try restore from backup\n"; |
| 86 | + } else { |
| 87 | + echo "NO RESULT(...try restore from backup\n"; |
88 | 88 | $fatal = $fatal + 1;
|
89 |
| - } |
| 89 | + } |
| 90 | + } |
90 | 91 | }
|
91 |
| - } |
92 | 92 | }
|
93 | 93 | }
|
94 |
| -echo "CHECK/REPAIR TABLES RESULT -> Total: ".$total.", checked Ok: ".$checked.", broken: ".$broken.", repaired: ".$repaired.", FATAL Errors : ".$fatal; |
| 94 | +echo "CHECK/REPAIR TABLES RESULT -> Total: " . $total . ", checked Ok: " . $checked . ", broken: " . $broken . ", repaired: " . $repaired . ", FATAL Errors : " . $fatal; |
95 | 95 | echo "\n";
|
96 | 96 |
|
97 | 97 | // создаем табличку cyclesRun, если её нет
|
|
185 | 185 | $mysql_path = (substr(php_uname(), 0, 7) == "Windows") ? SERVER_ROOT . "/server/mysql/bin/mysql" : 'mysql';
|
186 | 186 | $mysqlParam = " -h " . DB_HOST;
|
187 | 187 | $mysqlParam .= " -u " . DB_USER;
|
188 |
| - if (DB_PASSWORD != '') $mysqlParam .= " -p'" . DB_PASSWORD."'"; |
| 188 | + if (DB_PASSWORD != '') $mysqlParam .= " -p'" . DB_PASSWORD . "'"; |
189 | 189 | $mysqlParam .= " " . DB_NAME . " <" . $db_filename;
|
190 | 190 | exec($mysql_path . $mysqlParam);
|
191 | 191 |
|
|
195 | 195 | $mysql_path = (substr(php_uname(), 0, 7) == "Windows") ? SERVER_ROOT . "/server/mysql/bin/mysql" : 'mysql';
|
196 | 196 | $mysqlParam = " -h " . DB_HOST;
|
197 | 197 | $mysqlParam .= " -u " . DB_USER;
|
198 |
| - if (DB_PASSWORD != '') $mysqlParam .= " -p'" . DB_PASSWORD."'"; |
| 198 | + if (DB_PASSWORD != '') $mysqlParam .= " -p'" . DB_PASSWORD . "'"; |
199 | 199 | $mysqlParam .= " " . DB_NAME . " <" . $db_history_filename;
|
200 | 200 | exec($mysql_path . $mysqlParam);
|
201 | 201 | }
|
|
210 | 210 | $source = ROOT . 'modules';
|
211 | 211 | if ($dir = @opendir($source)) {
|
212 | 212 | while (($file = readdir($dir)) !== false) {
|
213 |
| - if (Is_Dir($source . "/" . $file) && ($file != '.') && ($file != '..')) { |
214 |
| - @unlink(ROOT . "cms/modules_installed/" . $file . ".installed"); |
| 213 | + $installed_file = ROOT . "cms/modules_installed/" . $file . ".installed"; |
| 214 | + if (Is_Dir($source . "/" . $file) && ($file != '.') && ($file != '..') && is_file($installed_file)) { |
| 215 | + unlink($installed_file); |
215 | 216 | }
|
216 | 217 | }
|
217 | 218 | }
|
218 |
| -@unlink(ROOT . "cms/modules_installed/control_modules.installed"); |
| 219 | + |
| 220 | +if (is_file(ROOT . "cms/modules_installed/control_modules.installed")) { |
| 221 | + unlink(ROOT . "cms/modules_installed/control_modules.installed"); |
| 222 | +} |
219 | 223 |
|
220 | 224 | // continue startup
|
221 | 225 | include_once(DIR_MODULES . "control_modules/control_modules.class.php");
|
|
269 | 273 |
|
270 | 274 | $total = count($cycles_records);
|
271 | 275 | for ($i = 0; $i < $total; $i++) {
|
272 |
| - DebMes("Removing property ThisComputer.$property (object ".$thisCompObject->id.")",'threads'); |
273 |
| - echo "Removing ThisComputer.$property (object " . $thisCompObject->id . ")"; |
274 | 276 | $property = $cycles_records[$i]['TITLE'];
|
| 277 | + echo "Removing ThisComputer.$property (object " . $thisCompObject->id . ")"; |
| 278 | + DebMes("Removing property ThisComputer.$property (object " . $thisCompObject->id . ")", 'threads'); |
275 | 279 | $property_id = $thisCompObject->getPropertyByName($property, $thisCompObject->class_id, $thisCompObject->id);
|
276 | 280 | //DebMes("Property id: $property_id",'threads');
|
277 | 281 | if ($property_id) {
|
278 | 282 | $sqlQuery = "SELECT ID FROM pvalues WHERE PROPERTY_ID = " . (int)$property_id;
|
279 | 283 | $pvalue = SQLSelectOne($sqlQuery);
|
280 | 284 | if ($pvalue['ID']) {
|
281 |
| - DebMes("Deleting Pvalue: ".$pvalue['ID'],'threads'); |
| 285 | + DebMes("Deleting Pvalue: " . $pvalue['ID'], 'threads'); |
282 | 286 | SQLExec("DELETE FROM phistory WHERE VALUE_ID=" . $pvalue['ID']);
|
283 | 287 | SQLExec("DELETE FROM pvalues WHERE ID=" . $pvalue['ID']);
|
284 | 288 | } else {
|
285 |
| - DebMes("NO Pvalue for ".$property_id,'threads'); |
| 289 | + DebMes("NO Pvalue for " . $property_id, 'threads'); |
286 | 290 | }
|
287 | 291 | SQLExec("DELETE FROM properties WHERE ID=" . $property_id);
|
288 |
| - DebMes("REMOVED $property_id",'threads'); |
| 292 | + DebMes("REMOVED $property_id", 'threads'); |
289 | 293 | echo " REMOVED $property_id\n";
|
290 | 294 | } else {
|
291 |
| - DebMes("No property record found for $property",'threads'); |
| 295 | + DebMes("No property record found for $property", 'threads'); |
292 | 296 | echo " FAILED\n";
|
293 | 297 | }
|
294 | 298 | }
|
|
388 | 392 | if ((time() - $last_cycles_control_check) >= 5 || !empty($result)) {
|
389 | 393 |
|
390 | 394 | $last_cycles_control_check = time();
|
391 |
| - $cyclesControls=$cyclesTimestamps=array(); |
392 |
| - $tmpcyclesTimestamps=SQLSelect("SELECT * FROM cached_cycles;"); |
| 395 | + $cyclesControls = $cyclesTimestamps = array(); |
| 396 | + $tmpcyclesTimestamps = SQLSelect("SELECT * FROM cached_cycles;"); |
393 | 397 |
|
394 | 398 | $total = count($tmpcyclesTimestamps);
|
395 | 399 | foreach ($tmpcyclesTimestamps as $k => $v) {
|
396 |
| - if (strpos($v['TITLE'],'Run') !== FALSE) { |
397 |
| - $cyclesTimestamps[$v['TITLE']] = $v['VALUE']; |
398 |
| - } else if (strpos($v['TITLE'],'Control') !== FALSE) { |
399 |
| - $cyclesControls[$v['TITLE']] = $v['VALUE']; |
400 |
| - } |
| 400 | + if (strpos($v['TITLE'], 'Run') !== FALSE) { |
| 401 | + $cyclesTimestamps[$v['TITLE']] = $v['VALUE']; |
| 402 | + } else if (strpos($v['TITLE'], 'Control') !== FALSE) { |
| 403 | + $cyclesControls[$v['TITLE']] = $v['VALUE']; |
| 404 | + } |
401 | 405 | }
|
402 | 406 |
|
403 | 407 | $seen = array();
|
|
409 | 413 | continue;
|
410 | 414 | }
|
411 | 415 | $seen[$title] = 1;
|
412 |
| - $control=''; |
| 416 | + $control = ''; |
413 | 417 |
|
414 | 418 | if (isset($cyclesControls[$title . 'Control'])) $control = $cyclesControls[$title . 'Control'];
|
415 | 419 | if ($control != '') {
|
|
436 | 440 | DebMes("Adding $title to auto-recovery list", 'threads');
|
437 | 441 | $auto_restarts[] = $title;
|
438 | 442 | }
|
439 |
| - $cycle_updated_timestamp=$cyclesTimestamps[$title.'Run']; |
| 443 | + $cycle_updated_timestamp = $cyclesTimestamps[$title . 'Run']; |
440 | 444 |
|
441 |
| - if (!$to_start[$title] && $cycle_updated_timestamp && in_array($title, $auto_restarts) && ((time() - $cycle_updated_timestamp) > 30 * 60)) { // |
442 |
| - DebMes("Looks like $title is dead (updated: ".date('Y-m-d H:i:s',$cycle_updated_timestamp)."). Need to recovery", 'threads'); |
| 445 | + if (!isset($to_start[$title]) && $cycle_updated_timestamp && in_array($title, $auto_restarts) && ((time() - $cycle_updated_timestamp) > 30 * 60)) { // |
| 446 | + DebMes("Looks like $title is dead (updated: " . date('Y-m-d H:i:s', $cycle_updated_timestamp) . "). Need to recovery", 'threads'); |
443 | 447 | registerError('cycle_hang', $title);
|
444 | 448 | setGlobal($title . 'Control', 'restart');
|
445 | 449 | }
|
|
0 commit comments