-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathexile_cleanup.php
More file actions
77 lines (55 loc) · 2.86 KB
/
Copy pathexile_cleanup.php
File metadata and controls
77 lines (55 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
echo "================================\nDatabase Cleanup Started:\n================================\n";
include 'database.php';
// clear out old logs
$sql = "DELETE FROM infistar_logs WHERE logname like '%OCCUPATION%' OR logname like '%PROCESSREPORTER%' AND time < NOW() - INTERVAL 4 HOUR";
$result = mysqli_query($db_local, $sql);
// clear out old logs
$sql = "DELETE FROM infistar_logs WHERE time < NOW() - INTERVAL 1 DAY";
$result = mysqli_query($db_local, $sql);
// Do db backup
// -------------------------------------------------------
// if mysqldump is on the system path you do not need to specify the full path
// simply use "mysqldump --add-drop-table ..." in this case
$date = date("Y-m-d_H-i-s");
$dumpfname = 'C:\\xampp\\htdocs\\db\\'.$dbname.'_'.$date.'.sql';
echo "<hr>$dumpfname<hr>";
$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$dbhost --user=$dbuser --password=$dbpass exile0940 > $dumpfname";
system($command);
echo "backup $dumpfname made\n\n";
// delete dead players
$sql = "DELETE FROM player WHERE damage = 1";
$result = mysqli_query($db_local, $sql);
// Construction Cleanup
$sql = "DELETE FROM construction WHERE deleted_at IS NOT NULL";
$result = mysqli_query($db_local, $sql);
// Container Cleanup
$sql = "DELETE FROM territory WHERE deleted_at IS NOT NULL";
$result = mysqli_query($db_local, $sql);
// Vehicle Cleanup
$sql = "DELETE FROM vehicle WHERE deleted_at IS NOT NULL";
$result = mysqli_query($db_local, $sql);
// Territory Cleanup
$sql = "DELETE FROM territory WHERE deleted_at IS NOT NULL";
$result = mysqli_query($db_local, $sql);
// delete push bikes
$sql = "DELETE FROM vehicle WHERE class = 'Exile_Bike_OldBike' OR class = 'Exile_Bike_MountainBike'";
$result = mysqli_query($db_local, $sql);
// Remove empty containers not used in 48 hours
$sql = "DELETE FROM container WHERE last_updated_at <= NOW() - INTERVAL 48 HOUR AND cargo_items = '[[],[]]' AND cargo_magazines = '[]' AND cargo_weapons = '[]' AND cargo_container = '[]'";
$result = mysqli_query($db_local, $sql);
// Remove containers not used in 48 hours not in a territory
$sql = "DELETE FROM container WHERE last_updated_at <= NOW() - INTERVAL 48 HOUR AND territory_id IS NULL";
$result = mysqli_query($db_local, $sql);
// Remove old player history
$sql = "DELETE FROM player_history WHERE died_at <= NOW() - INTERVAL 24 HOUR";
$result = mysqli_query($db_local, $sql);
// Remove old players
$sql = "DELETE FROM player WHERE last_updated_at < NOW() - INTERVAL 14 DAY";
$result = mysqli_query($db_local, $sql);
// Remove constructions outside a territory and older than 48 hours
$sql = "DELETE FROM construction WHERE territory_id IS NULL AND last_updated_at < NOW() - INTERVAL 2 DAY";
$result = mysqli_query($db_local, $sql);
// Delete Abandoned Vehicles
include 'delete_abandoned_vehicles.php';
?>