The existing thread talks about sending a blind carbon copy for incoming and outgoing emails which differs from trying to backup and archive old email data.
Whatever method you employ for old email data, you'll have to base it on the timestamp for the mail entry. There is no way within the existing backup scripts to backup data that is only a set date or time. The incremental backup feature does only back up changed files or folders, but it seems to me that you don't want to backup the data after the initial backup for those 2 years or older but back them up and move them to storage possibly? If so, there's a discussion on using find to move files from one location to another location that are over 30 days old (you'd have to reconfigure to move those that are 365 x 2 for 2 years):
How to move files older than 30 days
You'd also need to have it match the pattern for /home/*/mail/*/*/*/cur location where the * each represent a wildcard. Determining what command to use would be something you'd have to configure via testing purposes. I'd start with a test machine to run the command you are going to try until you find the proper way to handle it. To get you started for the finding the files portion, this command would find any emails (files) in cur folder under an email user's account that is 530 days old or older:
Code:
find /home/*/mail/*/*/cur -type f -mtime +530
What I find interesting is that any such system would exist to preserve emails that are 7 years old, since if you have clients capable of using email and cPanel, they can remove any emails they want to remove at any point of time. How can you ensure that such clients would maintain emails that are up to 7 years old on any machine?