Skip to content

Commit e82f7a9

Browse files
committed
Update startup_maintenance.php
1 parent 079178b commit e82f7a9

File tree

1 file changed

+45
-14
lines changed

1 file changed

+45
-14
lines changed

scripts/startup_maintenance.php

+45-14
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,17 @@
2020
include_once("./load_settings.php");
2121
}
2222

23+
if (isset($_SERVER['REQUEST_URI'])) {
24+
DebMes("Running by URL: " . $_SERVER['REQUEST_URI'], 'maintenance');
25+
} elseif (isset($argv[0])) {
26+
DebMes("Running from command line: " . implode(' ', $argv), 'maintenance');
27+
}
28+
29+
set_time_limit(10 * 60);
30+
2331
echo "<pre>\n";
2432

25-
DebMes("Running maintenance script");
33+
DebMes("Running maintenance script", 'maintenance');
2634

2735
// BACKUP DATABASE AND FILES
2836

@@ -70,17 +78,17 @@
7078
$path = ROOT . 'cms/debmes';
7179
}
7280

81+
DebMes("Checking log files.", 'maintenance');
7382
$dir = $path . "/";
74-
7583
foreach (glob($dir . "*") as $file) {
7684
if (filemtime($file) < time() - LOG_FILES_EXPIRE * 24 * 60 * 60) {
77-
DebMes("Removing log file " . $file, 'backup');
85+
DebMes("Removing log file " . $file, 'maintenance');
7886
@unlink($file);
7987
}
8088
}
8189

8290
if ($full_backup) {
83-
DebMes("Backing up files...", 'backup');
91+
DebMes("Backing up files...", 'maintenance');
8492
echo "Backing up files...";
8593

8694
if (!is_dir($target_dir . '/cms')) {
@@ -94,7 +102,7 @@
94102
$d == 'debmes' ||
95103
$d == 'saverestore'
96104
) continue;
97-
DebMes("Backing up dir " . ROOT . 'cms/' . $d . ' to ' . $target_dir . '/cms/' . $d, 'backup');
105+
DebMes("Backing up dir " . ROOT . 'cms/' . $d . ' to ' . $target_dir . '/cms/' . $d, 'maintenance');
98106
copyTree(ROOT . 'cms/' . $d, $target_dir . '/cms/' . $d, 1);
99107
}
100108

@@ -112,15 +120,15 @@
112120
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
113121
$mysqlDumpParam .= " > " . $target_dir . "/" . DB_NAME . ".sql";
114122

115-
DebMes("Backing up database " . DB_NAME . ' to ' . $target_dir . "/" . DB_NAME . ".sql", 'backup');
123+
DebMes("Backing up database " . DB_NAME . ' to ' . $target_dir . "/" . DB_NAME . ".sql", 'maintenance');
116124
exec($mysqlDumpPath . $mysqlDumpParam);
117-
118-
125+
DebMes("Backup done.", 'maintenance');
119126
echo "OK\n";
120127
}
121128

122129

123130
// removing old files from cms/saverestore
131+
DebMes("Checking cms/saverestore files.", 'maintenance');
124132
if (is_dir(ROOT . 'cms/saverestore')) {
125133
$files = scandir(ROOT . 'cms/saverestore');
126134
foreach ($files as $file) {
@@ -129,31 +137,36 @@
129137
&& (preg_match('/\.tgz$/', $file) || preg_match('/\.tar\.gz$/', $file) || preg_match('/\.zip\.gz$/', $file))
130138
&& filemtime($path) < time() - BACKUP_FILES_EXPIRE * 24 * 60 * 60
131139
) {
132-
echonow("Removing $path");
133-
DebMes("Removing $path.", 'backup');
140+
echo("Removing $path");
141+
DebMes("Removing $path.", 'maintenance');
134142
@unlink($path);
135143
}
136144
}
145+
} else {
146+
DebMes(ROOT . 'cms/saverestore - NOT FOUND', 'maintenance');
137147
}
138148
// removing old backus
149+
DebMes('Checking old backups.', 'maintenance');
139150
if (is_dir($backups_dir)) {
140151
$backups = scandir($backups_dir);
141152
foreach ($backups as $file) {
142153
if ($file == '.' || $file == '..') continue;
143154
$path = $backups_dir . '/' . $file;
144155
if (is_dir($path) && filemtime($path) < time() - BACKUP_FILES_EXPIRE * 24 * 60 * 60) {
145-
echonow("Removing $path");
146-
DebMes("Removing $path.", 'backup');
156+
echo("Removing $path");
157+
DebMes("Removing $path.", 'maintenance');
147158
removeTree($path);
148159
}
149160
}
150161
echo "OK";
151162
} else {
163+
DebMes($backups_dir . ' - NOT FOUND', 'maintenance');
152164
echo $backups_dir . " not found";
153165
}
154166

155167

156168
// CHECK/REPAIR/OPTIMIZE TABLES
169+
DebMes('Checking database tables.', 'maintenance');
157170
$tables = SQLSelect("SHOW TABLES FROM `" . DB_NAME . "`");
158171
$total = count($tables);
159172
for ($i = 0; $i < $total; $i++) {
@@ -163,13 +176,15 @@
163176
echo "OK\n";
164177
} else {
165178
echo " broken ... repair ...";
179+
DebMes("Repairing: $table", 'maintenance');
166180
SQLExec("REPAIR TABLE " . $table . ";");
167181
echo "OK\n";
168182
}
169183
}
170184

171185
setGlobal('ThisComputer.started_time', time());
172186
if (time() >= getGlobal('ThisComputer.started_time')) {
187+
DebMes("Incorrect date on start, fixing.", 'maintenance');
173188
SQLExec("DELETE FROM events WHERE ADDED > NOW()");
174189
SQLExec("DELETE FROM phistory WHERE ADDED > NOW()");
175190
SQLExec("DELETE FROM history WHERE ADDED > NOW()");
@@ -180,13 +195,15 @@
180195

181196

182197
// removing incorrect pvalues
198+
DebMes("Checking for incorrect pvalues.", 'maintenance');
183199
$sqlQuery = "SELECT pvalues.*, properties.ID AS PROP_ID, objects.ID as OBJ_ID FROM `pvalues` LEFT JOIN properties ON pvalues.PROPERTY_ID=properties.ID LEFT JOIN objects ON pvalues.OBJECT_ID=objects.ID";
184200
$data = SQLSelect($sqlQuery);
185201
$total = count($data);
186202
$found_pvalues = array();
187203
for ($i = 0; $i < $total; $i++) {
188204
if (!$data[$i]['PROP_ID'] || !$data[$i]['OBJ_ID']) {
189205
echo "Removing incorrect property value: " . $data[$i]['PROPERTY_NAME'] . PHP_EOL;
206+
DebMes("Removing incorrect property value: " . $data[$i]['PROPERTY_NAME'], 'maintenance');
190207
SQLExec("DELETE FROM phistory WHERE VALUE_ID=" . $data[$i]['ID']);
191208
SQLExec("DELETE FROM pvalues WHERE ID=" . $data[$i]['ID']);
192209
} else {
@@ -199,6 +216,7 @@
199216
}
200217

201218
// fixing property names
219+
DebMes("Checking for incorrect property names.", 'maintenance');
202220
$sqlQuery = "SELECT pvalues.*, objects.TITLE AS OBJECT_TITLE, properties.TITLE AS PROPERTY_TITLE
203221
FROM pvalues
204222
JOIN objects ON pvalues.OBJECT_ID = objects.id
@@ -210,10 +228,13 @@
210228

211229
for ($i = 0; $i < $total; $i++) {
212230
$objectProperty = $data[$i]['OBJECT_TITLE'] . "." . $data[$i]['PROPERTY_TITLE'];
213-
if ($data[$i]['PROPERTY_NAME'])
231+
if ($data[$i]['PROPERTY_NAME']) {
214232
echo "Incorrect: " . $data[$i]['PROPERTY_NAME'] . " should be $objectProperty" . PHP_EOL;
215-
else
233+
DebMes("Incorrect: " . $data[$i]['PROPERTY_NAME'] . " should be $objectProperty", 'maintenance');
234+
} else {
216235
echo "Missing: " . $objectProperty . PHP_EOL;
236+
DebMes("Missing: " . $objectProperty, 'maintenance');
237+
}
217238

218239
$sqlQuery = "SELECT *
219240
FROM pvalues
@@ -227,6 +248,7 @@
227248
}
228249

229250
// Removing incorrect history for images
251+
DebMes('Checking incorrect history images', 'maintenance');
230252
$folder = ROOT . 'cms/images/';
231253
$properties = SQLSelect("SELECT * FROM properties WHERE DATA_TYPE=5");
232254
$total = count($properties);
@@ -262,6 +284,7 @@
262284
foreach ($found_files as $k => $v) {
263285
$path = $folder . $k;
264286
if (is_file($path)) {
287+
DebMes('Removing ' . $path, 'maintenance');
265288
echo "Removing $path<br/>";
266289
unlink($path);
267290
}
@@ -270,6 +293,8 @@
270293

271294

272295
// Removing duplicates when we have both class property and object property with the same name
296+
DebMes('Checking duplicates with both class property and object property.', 'maintenance');
297+
273298
include_once(DIR_MODULES . 'classes/classes.class.php');
274299
$cls_module = new classes();
275300

@@ -291,6 +316,7 @@
291316
}
292317
}
293318
if (isset($class_property['ID'])) {
319+
DebMes('Fixing ' . json_encode($properties[$i]), 'maintenance');
294320
$object_pvalue = SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID=" . $properties[$i]['ID'] . " AND OBJECT_ID=" . $properties[$i]['OBJECT_ID']);
295321
$class_pvalue = SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID=" . $class_property['ID'] . " AND OBJECT_ID=" . $properties[$i]['OBJECT_ID']);
296322
if (!$class_pvalue['ID']) {
@@ -310,6 +336,7 @@
310336

311337
// removing old errors
312338
if (defined('SETTINGS_ERRORS_KEEP_HISTORY') && SETTINGS_ERRORS_KEEP_HISTORY > 0) {
339+
DebMes("Deleting old system_errors_data", 'maintenance');
313340
SQLExec("DELETE FROM system_errors_data WHERE ADDED<'" . date('Y-m-d H:i:s', time() - SETTINGS_ERRORS_KEEP_HISTORY * 24 * 60 * 60) . "'");
314341
}
315342

@@ -324,11 +351,13 @@
324351
}
325352

326353
if ($serial_data != '') {
354+
DebMes("Setting serial to: " . $serial_data, 'maintenance');
327355
sg('ThisComputer.Serial', $serial_data);
328356
}
329357

330358

331359
// caching some data
360+
DebMes("Caching market data.", 'maintenance');
332361
include_once DIR_MODULES . 'market/market.class.php';
333362
$mkt = new market();
334363
$mkt->marketRequest('op=didyouknow');
@@ -337,3 +366,5 @@
337366
include_once DIR_MODULES . 'saverestore/saverestore.class.php';
338367
$sv = new saverestore();
339368
$sv->admin($out);
369+
370+
DebMes("Maintenance complete.", 'maintenance');

0 commit comments

Comments
 (0)