100 lines
2.9 KiB
PHP
Executable File
100 lines
2.9 KiB
PHP
Executable File
<?php
|
|
include_once 'path.php';
|
|
if(!isset($_SESSION['validUser']) || $_SESSION['validUser'] !== true)
|
|
exit(header("Location:../index.php"));
|
|
|
|
$current_selJob = $_POST['backupsetName'];
|
|
$periodic_days = $_POST['periodic_days'];
|
|
$periodic_perc = $_POST['periodic_perc'];
|
|
$periodic_status = $_POST['periodic_cleanStatus'];
|
|
$temp = explode("_",$current_selJob,2);
|
|
|
|
$job_name = $temp[1];
|
|
$archive_dir = Scheduler::$archiveclean_dir;
|
|
|
|
$pidDir = "$archive_dir/$job_name";
|
|
|
|
if(!is_dir($archive_dir)){
|
|
if(!mkdir($archive_dir, $permissionVal)){
|
|
echo "AR_DIR";
|
|
Scheduler::Log(AR_PERIODIC . "[$job_name]" . "file:startarchive" . AR_DIR);
|
|
exit;
|
|
}
|
|
@chmod($archive_dir,$permissionVal);
|
|
}
|
|
|
|
if(!is_dir($pidDir)){
|
|
if(!mkdir($pidDir, $permissionVal)){
|
|
echo "JOB_DIR";
|
|
Scheduler::Log(AR_PERIODIC . "[$job_name]" . "file:startarchive" . AR_JOB);
|
|
exit;
|
|
}
|
|
@chmod($pidDir,$permissionVal);
|
|
}
|
|
|
|
|
|
if($periodic_days !="" && $periodic_perc != "") // Add crontab entry
|
|
{
|
|
$_POST['action'] = 'update_pc';
|
|
if($periodic_status == "1")
|
|
periodicCronupdate();
|
|
else
|
|
Scheduler::RemoveCronEntry($job_name, ARCHIVE_JOB, ARCHIVE_JOB);
|
|
|
|
/* Updating periodic cleanup details to .popUplist.txt file. */
|
|
$updatePeriodic = UpdatePeriodicJobs($current_selJob,$periodic_perc,$periodic_days,$periodic_status);
|
|
|
|
$pidDir = "$archive_dir/$job_name";
|
|
if(!is_dir($pidDir)){
|
|
if(!mkdir($pidDir, $permissionVal))
|
|
exit;
|
|
@chmod($pidDir,$permissionVal);
|
|
}
|
|
}
|
|
|
|
/****************************************************************************************************
|
|
* Function Name : getCrontime
|
|
* Objective : Calculating Current Time for Periodic Cleanup
|
|
* Added By : Sajana K
|
|
*****************************************************************************************************/
|
|
function getCrontime()
|
|
{
|
|
$datetime = shell_exec('date +"%Y-%m-%d %T"');
|
|
|
|
|
|
$time_split = explode(" ",$datetime);
|
|
$date_split = explode(":",$time_split[1]);
|
|
|
|
$archivePeriodHr = $date_split[0];
|
|
$archivePeriodMin = $date_split[1];
|
|
$archivePeriodSec = $date_split[2];
|
|
|
|
$cronarr[1] = $archivePeriodHr;
|
|
$cronarr[2] = $archivePeriodMin;
|
|
|
|
return $cronarr;
|
|
}
|
|
/****************************************************************************************************
|
|
* Function Name : UpdatePeriodicJobs
|
|
* Objective : Updating periodic details for Periodic Cleanup
|
|
* Added By : Sajana K
|
|
*****************************************************************************************************/
|
|
function UpdatePeriodicJobs()
|
|
{
|
|
GLOBAL $current_selJob;
|
|
GLOBAL $periodic_perc;
|
|
GLOBAL $periodic_days;
|
|
GLOBAL $periodic_status;
|
|
|
|
$jobs = Scheduler::ReadJobs();
|
|
|
|
$jobs[$current_selJob]["periodic"] = array();
|
|
$jobs[$current_selJob]["periodic"]["perc"] = $periodic_perc;
|
|
$jobs[$current_selJob]["periodic"]["days"] = $periodic_days;
|
|
$jobs[$current_selJob]["periodic"]["status"] = $periodic_status;
|
|
$json_data = json_encode($jobs);
|
|
Scheduler::UpdateJob($json_data);
|
|
return true;
|
|
}
|
|
?>
|