ShoutCast DNAS does have an option to record the stream to a file, but it's too rigid to be useful for most users -- as I understand it, it just starts writing to the file when you start the server, and there is no way to rotate it to multiple files for different days or anything like that.
The easiest and most reliable solution we know of is to use wget from a cron job such as:
wget -O /home/foo/archive-`date +%Y-m-d`.mp3 -q http://ipaddress:port
The reason this works is because the ShoutCast protocol is very similar to HTTP, so wget just thinks it's downloading a really big, really long MP3 file. Just kill the process and restart it each time you want to start a new file (i.e., at midnight or whatever).