That's pretty much how all the old-school BBS's ran back in the day. I was running WWiV on C++ doing my own mods and compiles in the middle of the night after everyone logged in for their daily turns on the games.
The way information is now it's so much more accessible... almost dirty.
Cronjob sounds great. I would use the S3 to store the backup files.
For backing up the site, I'd use 2 different solutions. Daily DB backup with Cronjob, and another one is instance snapshot. Installed NodeBB on a Docker instance, and what I need to do is that commit the instance once a week, output it as .tar file, store it somewhere reliable.
For image assets, I prefer offshore storage like the S3, so the instance snapshot won't be really big in size..