diff options
Diffstat (limited to '')
| -rw-r--r-- | README | 5 | ||||
| -rw-r--r-- | cleanup.c | 8 | 
2 files changed, 9 insertions, 4 deletions
| @@ -3,8 +3,9 @@ Most of these were uploaded to share something on IRC / email / IM, and aren't  needed after some number of days.  To address this, I wrote a small garbage collector in C. Its file retention -period is shamelessly stolen from the kind folks at http://0x0.st/ and -https://ttm.sh/ . +period is shamelessly stolen from the kind folks at <http://0x0.st/> and +<https://ttm.sh/>, with the exception that files larger than max_size are kept +for a fxed number of days before being deleted.  SETUP: @@ -29,6 +29,7 @@  #include <time.h>  #include <unistd.h> +const double bigd = 7.0;  const double mind = 30.0;  const double maxd = 90.0;  const double max_size = 33554432; // 32MB @@ -82,8 +83,11 @@ main(int argc, char * const argv[])  				break;  			}  			file_age = difftime(curr_time, attr.st_mtime) / 86400.0; -			cutoff = mind + (mind - maxd) * -				     pow((double) attr.st_size / (double) max_size - 1, 3.0); +			if (attr.st_size > max_size) +				cutoff = bigd; +			else +				cutoff = mind + (mind - maxd) * +				    pow((double) attr.st_size / (double) max_size - 1, 3.0);  			if (verbose)  				printf("%s age %fd cuttoff %fd size %lldB\n",  				       node->fts_path, file_age, cutoff, attr.st_size); | 
