maintenance task

This commit is contained in:
jokob-sk
2022-01-14 14:11:08 +11:00
parent 2488151757
commit 496e8ad2b7
3 changed files with 97 additions and 2 deletions

View File

@@ -21,6 +21,7 @@
<!-- Content header--------------------------------------------------------- --> <!-- Content header--------------------------------------------------------- -->
<section class="content-header"> <section class="content-header">
<?php require 'php/templates/notification.php'; ?>
<h1 id="pageTitle"> <h1 id="pageTitle">
Maintenance tools Maintenance tools
</h1> </h1>
@@ -37,6 +38,20 @@
</div> </div>
</div> </div>
<div class="col-xs-12">
<div class="pull-right">
<button type="button" class="btn btn-default pa-btn pa-btn-create" style="margin-left:0px;"
id="btnBackup" onclick="askCreateBackupDB()"> Backup DB </button>
</div>
</div>
<div class="col-xs-12">
<div class="pull-right">
<button type="button" class="btn btn-default pa-btn pa-btn-delete" style="margin-left:0px;"
id="btnRestore" onclick="askRestoreBackupDB()"> Restore DB </button>
</div>
</div>
<!-- ----------------------------------------------------------------------- --> <!-- ----------------------------------------------------------------------- -->
</section> </section>
<!-- /.content --> <!-- /.content -->
@@ -53,7 +68,8 @@
<script> <script>
function askDeleteDevicesWithEmptyMACs () { function askDeleteDevicesWithEmptyMACs () {
// Ask delete device // Ask delete device
showModalWarning ('Delete Devices', 'Are you sure you want to delete all devices with empty MAC addresses?<br>(maybe you prefer to archive it)',
showModalWarning('Delete Devices', 'Are you sure you want to delete all devices with empty MAC addresses?<br>(maybe you prefer to archive it)',
'Cancel', 'Delete', 'deleteDevicesWithEmptyMACs'); 'Cancel', 'Delete', 'deleteDevicesWithEmptyMACs');
} }
@@ -65,6 +81,51 @@ function deleteDevicesWithEmptyMACs()
showMessage (msg); showMessage (msg);
}); });
} }
// DB backup
function askCreateBackupDB () {
// Ask delete device
showModalWarning('Backup DB', 'This creates a pialert.db_bak file in the /config folder',
'Cancel', 'Create', 'createBackupDB');
}
function createBackupDB()
{
// Delete device
$.get('php/server/devices.php?action=createBackupDB', function(msg) {
showMessage (msg);
});
}
// DB restore
function askRestoreBackupDB () {
// Ask delete device
showModalWarning('Restore DB', 'This restores a pialert.db_bak file from the /config folder',
'Cancel', 'Restore', 'restoreBackupDB');
}
function restoreBackupDB()
{
// Delete device
$.get('php/server/devices.php?action=restoreBackupDB', function(msg) {
showMessage (msg);
});
}
</script> </script>

View File

@@ -32,6 +32,9 @@
case 'setDeviceData': setDeviceData(); break; case 'setDeviceData': setDeviceData(); break;
case 'deleteDevice': deleteDevice(); break; case 'deleteDevice': deleteDevice(); break;
case 'deleteAllWithEmptyMACs': deleteAllWithEmptyMACs(); break; case 'deleteAllWithEmptyMACs': deleteAllWithEmptyMACs(); break;
case 'createBackupDB': createBackupDB(); break;
case 'restoreBackupDB': restoreBackupDB(); break;
case 'getDevicesTotals': getDevicesTotals(); break; case 'getDevicesTotals': getDevicesTotals(); break;
@@ -195,6 +198,37 @@ function deleteAllWithEmptyMACs() {
} }
//------------------------------------------------------------------------------
// Create a DB backup
//------------------------------------------------------------------------------
function createBackupDB() {
//
$result = copy("/home/pi/pialert/db/pialert.db","/home/pi/pialert/config/pialert.db_bak");
// check result
if ($result == TRUE) {
echo "Copied successfully";
} else {
echo "Error copying DB. SSH into instance and copy manually.";
}
}
//------------------------------------------------------------------------------
// Restore latest DB backup
//------------------------------------------------------------------------------
function restoreBackupDB() {
//
$result = copy("/home/pi/pialert/config/pialert.db_bak", "/home/pi/pialert/db/pialert.db");
// check result
if ($result == TRUE) {
echo "Copied successfully";
} else {
echo "Error copying DB. SSH into instance and copy manually.";
}
}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Query total numbers of Devices by status // Query total numbers of Devices by status

View File

@@ -170,7 +170,7 @@
</li> </li>
<li class=" <?php if (in_array (basename($_SERVER['SCRIPT_NAME']), array('maintenance.php') ) ){ echo 'active'; } ?>"> <li class=" <?php if (in_array (basename($_SERVER['SCRIPT_NAME']), array('maintenance.php') ) ){ echo 'active'; } ?>">
<a href="maintenance.php"><i class="fa fa-bolt"></i> <span>Maintenance</span></a> <a href="maintenance.php"><i class="fa fa-cog fa-spin fa-3x fa-fw"></i> <span>Maintenance</span></a>
</li> </li>
<!-- <!--