> But good luck doing that in one line in cron.
Two options:
0 0 25-31 5 1
or, if your cron supports „L“: 0 0 L 5 1The first one works in that specific case, but not more generically. For example, "Last Monday in February", or "last Monday of the month" for multiple months unless they're all 30 or all 31 days.
Won't your first line mean every Monday in May as well as days 25 to 31 of May?
At least busybox's cron implements it that way: