snexpire,v0.3.8(8)

✨ snexpire ✨

okay bestie, welcome to the snexpire page from the System Manager's Manual β€” it's section 8, it's version v0.3.8, and it's here to help you clean out your news spool. let's get into it πŸ’…


πŸŽ€ NAME πŸŽ€

snexpire β€” expire news under the sn system.


πŸ¦‹ SYNOPSIS πŸ¦‹

snexpire [-v] [-exp] newsgroup [[-exp] newsgroup]...

πŸ’– DESCRIPTION πŸ’–

so snexpire expires news in the sn news system, and it does it one article file at a time β€” and just so you know, one article file is =10 articles by compile-time default. iconic behaviour tbh.

and here's the cute part: snexpire always leaves behind at least one article file ✨ so that newly entered articles get numbers that don't overlap previously used numbers. no number collisions, no chaos, we love a tidy queen.

but β€” and this is the exception, so listen up πŸ™ˆ β€” if the expiration age is set to 0, then even this last file will be expired, and subsequent article numbers will start from the beginning. lowkey a glow-up reset, highkey a whole new era.

⚠️ heads up bestie: you will need to be root or own /var/spool/sn to run snexpire. no root, no slay. πŸ’€

🌸 OPTIONS 🌸

  • -v β€” outputs a line for each article expired. and the format of this line? literally the same as for snscan. so if you know snscan, you already know. iykyk 🫢

🌈 ARGUMENTS 🌈

snexpire expires all newsgroups named on the command line. all of them. every single one. periodt πŸ‘‘

each newsgroup may be preceded by -exp to control the expiration age. and exp is of the form #[hdwmy] β€” so that's a # (a number, bestie) followed by one of these characters:

  • h β€” hours
  • d β€” days
  • w β€” weeks
  • m β€” months
  • y β€” years

the default for -exp is a compile-time fixed. so if you don't say anything, it's already decided for you.

and here's the thing that gets people: each [-exp] applies to the next newsgroup only. any newsgroups after that one get default treatment unless overridden by another [-exp]. so it's one -exp per newsgroup, no sharing, no passing it down the line. it's giving "one for you, not for everyone else" πŸ’…


🧚 FILES MODIFIED 🧚

these are the files that get touched:

  • /var/spool/sn/newsgroup/.times
  • /var/spool/sn/newsgroup/[0123456789]*
  • /var/spool/sn/{.chain,.table}

⭐ ENVIRONMENT VARIABLES ⭐

  • SNROOT β€” if this is set and is not empty, the value is used in place of /var/spool/sn, the default news spool directory. so basically you can relocate the whole vibe. πŸ¦‹

πŸ’œ FILES πŸ’œ

  • /var/spool/sn/newsgroup/.expire β€” if this exists, its contents are taken to be exp if not overridden by -exp on the command line. so it's the fallback bestie, the backup plan, the second option ✨

πŸ“Œ N.B. β€” shoutout to Harold Tay for writing this one 🫢

and that's the whole page, bestie!! πŸ’– this was snexpire version v0.3.8, from section 8 of the System Manager's Manual, brought to you by Harold Tay β€” go expire some news, stay root, and don't forget your -exp only applies to the next newsgroup. mwah πŸŽ€βœ¨πŸŒΈ

πŸ“¦ where this page comes from