Bite me, systemd.

 I  configured  my  journald with "MaxRetentionSec=7day". The docs say:
 "The maximum time to store journal entries." So, naturally, I  assumed
 that my logs go back 7 days.

 Of  course, it was my fault. The docs also say (in the next sentence):
 "This controls whether journal files containing entries older then the
 specified time span are deleted."

 In other words, an entire journal file will be deleted if there's just
 one entry in it older than seven days? Is that it? This kills *A  LOT*
 of log entries, not just the ones older than seven days.

 Okay,  so  I  must  set "MaxFileSec=1h" or something? That might work,
 because it tells journald to switch to a new file, even if the old one
 isn't full yet.

 Okay,  fine, but journald allocates a full 8 MB file at once. With one
 file per hour and seven days worth of logs, I'll end up with 1.3 GB of
 mostly empty log files?

 I must have gotten something wrong here. This feels very, very wrong.

 Maybe set "MaxFileSec=1d" and "MaxRetentionSec=8day"?

 Well, the docs also say that "normally, time-based rotation should not
 be required", so maybe they simply didn't "optimize" use  cases  where
 you actually limit log files on a time basis ...