Q:

Combining multiple MP3 files from a specific day

Everyday I have about 10 different mp3 files created on my server. What I would like to do is setup a cronjob to run at night and combine the current days tracks into one mp3 track. I don't care so much about the ID3 info, though if such a method has the capability to merge these, then that would be ideal. 
Keeping it simple here is what I need to do:

Combine .mp3 files from current day
Delete the individual files after, as I only need the combined mp3

I'm open to using Python or a Bash script to do this, however any other solutions would work as well. Is this possible to do?

A:

Solution using ffmpeg's concat protocol
You must first find the files you want to merge (newer than one day)
find path/to/files -name '*.mp3' -mtime -1

And merge them as described in another question. Finally the string used for concatination must be modified to be valid for rm (quotes instead of pipes etc).
The final script is then:
#!/bin/bash
concat=$(echo -n "concat:" && find path/to/files -name '*.mp3' -mtime -1 -exec echo -n "{}|" \;)
ffmpeg -i "${concat%|}" -acodec copy output.mp3

IFS=$'\n'
for i in $(echo $concat | sed -e 's/^concat://' -e 's/|$//' -e 's/|/\n/g');
    do rm -i $i
done

${concat%|}strips the final pipe in the variable and the sed expression creates a list of files (one per line) to be deleted by rm.
Sortable solution (needs ffmpeg 1.1 or newer)
With more recent versions of ffmpeg the files that shall be concatenated can be read from a file. This allows easy sorting of the snippets.
#!/bin/bash

IFS=$'\n'

concatlist=$(find /path/to/files -name '*.mp3' -mtime -1 -printf "file '%p'\n" | sort)

ffmpeg -f concat -i <(echo "$concatlist") -c copy output.mp3

for i in $(echo "$concatlist" | sed -e "s/^file '//" -e "s/'$//"); do
    rm -i "$i"
done

This solution fails if one of the filenames contains a single quote ('). If anyone knows how to correct this, please change it.

