I have done something similar recently. The most reliable way to do this is to use a SPSiteDataQuery and search thereby whole Site for all Items. Using a PowerShell ScriptPowerShell Script you can execute this query and retrieve the latest changed Items, Documents, Webs etc. per Site oder per SiteCollection.