public static function purge_large_logs() { $max_site_log_size = pb_backupbuddy::$options['max_site_log_size'] * 1024 * 1024; // in bytes. $max_log_size_skip_truncate = 10; // If log file exceeds this site then simply unlink since it may be too large to trunace. In MB. // Purge site-wide log if over certain size. $files = glob(backupbuddy_core::getLogDirectory() . '*.txt'); if (!is_array($files)) { $files = array(); } foreach ($files as $file) { if (($size = filesize($file)) > $max_log_size_skip_truncate * 1024 * 1024) { pb_backupbuddy::status('warning', 'Warning #389349843: Log file `' . $file . '` was too large `' . $size . ' bytes` to truncate (max: `' . $max_log_size_skip_truncate . '`MB) so it was unlinked.'); if (false === @unlink($file)) { pb_backupbuddy::status('error', 'Error #438934843: Log file `' . $file . '` was too large `' . $size . ' bytes` to truncate (max: `' . $max_log_size_skip_truncate . '`MB) BUT it could not be unlinked/deleted! Manually delete this file.'); } } else { backupbuddy_core::truncate_file_beginning($file, $max_site_log_size); } } }
private static function _truncate_log() { // Truncate large log. $sumLogFile = backupbuddy_core::getLogDirectory() . 'status-live_periodic_' . pb_backupbuddy::$options['log_serial'] . '.txt'; $max_log_size = pb_backupbuddy::$options['max_site_log_size'] * 1024 * 1024; backupbuddy_core::truncate_file_beginning($sumLogFile, $max_log_size, 50); }