Effective backup and archive strategy for database and linked files
If you store your files by hash to and link with the hash to the database row, you can simplify maintaining consistency.

In that case you can either:


keep on incrementally backing up the filesystem (eg with rsync) and never delete

or
if you need to free up space, keep an audit of link count and when the last link was deleted - you can then periodically purge the filesystem of files not linked to in your recovery window. Something like rsnapshot might help you archive these long-term in a space efficient way