diff --git a/Rocksolid_Light/rocksolid/config.inc.php b/Rocksolid_Light/rocksolid/config.inc.php index 3a44e12..6873c7d 100644 --- a/Rocksolid_Light/rocksolid/config.inc.php +++ b/Rocksolid_Light/rocksolid/config.inc.php @@ -28,6 +28,15 @@ $script_path = $config_dir . "/scripts/"; $CONFIG = include ($config_file); $OVERRIDES = include ($config_dir . '/overrides.inc.php'); +// Spool directory size and minimum in Gigabytes +$min_spool_disk_space = 2; +$free_spool_disk_space = disk_free_space($spooldir)*9.313E-10; +if($free_spool_disk_space < $min_spool_disk_space) { + $low_spool_disk_space = true; +} else { + $low_spool_disk_space = false; +} + $logdir = $spooldir . '/log'; $debug_log = $logdir . '/debug.log'; $lockdir = $spooldir . '/lock'; diff --git a/Rocksolid_Light/rslight/scripts/spoolnews.php b/Rocksolid_Light/rslight/scripts/spoolnews.php index 3a5b12a..d47882e 100644 --- a/Rocksolid_Light/rslight/scripts/spoolnews.php +++ b/Rocksolid_Light/rslight/scripts/spoolnews.php @@ -63,6 +63,12 @@ if (! isset($CONFIG['enable_nntp']) || $CONFIG['enable_nntp'] != true) { $workpath = $spooldir . "/"; $path = $workpath . "articles/"; +if($low_spool_disk_space) { + print "Low Disk Space (less than ".$min_spool_disk_space." available)\n"; + file_put_contents($logfile, "\n" . format_log_date() . " " . $config_name . " Low Disk Space (less than ".$min_spool_disk_space." available for spool). Pausing spoolnews", FILE_APPEND); + exit(); +} + $lockfile = $lockdir . '/' . $config_name . '-spoolnews.lock'; $pid = file_get_contents($lockfile); if (posix_getsid($pid) === false || ! is_file($lockfile)) {