getStoredBytes( LAST_WEEK, NOW, $backupjob_name ); $backupjob_bytes = CUtils::Get_Human_Size( $backupjob_bytes ); // Get the last 7 days interval (start and end) for( $c = 6 ; $c >= 0 ; $c-- ) { $today = NOW - ($c * DAY); $days[] = CTimeUtils::get_Day_Intervals($today); } // =============================================================== // Last 7 days stored Bytes graph // =============================================================== $graph = new CGraph( "graph2.png" ); foreach( $days as $day ) { $stored_bytes = $dbSql->getStoredBytes( $day['start'], $day['end'], $backupjob_name); $stored_bytes = CUtils::Get_Human_Size( $stored_bytes, 1, 'GB', false ); $days_stored_bytes[] = array( date("m-d", $day['start']), $stored_bytes ); } $graph->SetData( $days_stored_bytes, 'bars', 'text-data' ); $graph->SetGraphSize( 400, 230 ); $graph->SetYTitle( "GB" ); $graph->Render(); $dbSql->tpl->assign('graph_stored_bytes', $graph->Get_Image_file() ); // =============================================================== // Getting last 7 days stored files graph // =============================================================== $graph = new CGraph("graph3.png" ); foreach( $days as $day ) array_push( $days_stored_files, $dbSql->GetStoredFilesByJob( $backupjob_name, $day['start'], $day['end'] ) ); // Calculate total files for this period foreach( $days_stored_files as $day ) $backupjob_files += $day[1]; $graph->SetData( $days_stored_files, 'bars', 'text-data' ); $graph->SetGraphSize( 400, 230 ); $graph->SetYTitle( "Files" ); $graph->Render(); $dbSql->tpl->assign('graph_stored_files', $graph->Get_Image_file() ); // Last 10 jobs $query = "SELECT JobId, Level, JobFiles, JobBytes, JobStatus, StartTime, EndTime, Name "; $query .= "FROM Job "; $query .= "WHERE Name = '$backupjob_name' "; $query .= "ORDER BY EndTime DESC "; $query .= "LIMIT 10 "; $jobs = array(); $joblevel = array( 'I' => 'Incr', 'D' => 'Diff', 'F' => 'Full' ); $result = $dbSql->db_link->query( $query ); if( ! PEAR::isError( $result ) ) { while( $job = $result->fetchRow() ) { // Job level description $job['joblevel'] = $joblevel[ $job['level'] ]; // Job execution execution time $job['elapsedtime'] = CTimeUtils::Get_Elapsed_Time( $job['starttime'], $job['endtime'] ); // odd and even row if( count($jobs) % 2) $job['row_class'] = 'odd'; // Job bytes in human format $job['jobbytes'] = CUtils::Get_Human_Size( $job['jobbytes'] ); array_push( $jobs, $job); } }else $dbSql->TriggerDBError("Unable to get last jobs from catalog", $result); $dbSql->tpl->assign('jobs', $jobs ); $dbSql->tpl->assign('backupjob_name', $backupjob_name ); $dbSql->tpl->assign('backupjob_period', $backupjob_period ); $dbSql->tpl->assign('backupjob_bytes', $backupjob_bytes ); $dbSql->tpl->assign('backupjob_files', $backupjob_files ); // Process and display the template $dbSql->tpl->display('backupjob-report.tpl'); ?>