You could do this with PowerShell.
Simply query a list for all items and then copy the new list over - you'd need to investigate the version control bit more.
You could then schedule the PowerShell script to be executed monthly via Task Scheduler.
If you don't fancy coding then there are solutions out there that you can buy such as:
http://en.share-gate.com/sharepoint-tools/copy-move-sharepoint-list-items-with-metadata-and-version-history
Adrian Murphy
ECM Architect