Based upon what you have said, I would:
1) Migrate the current production moodle to a backup server. This could even be the same server. You could adopt a good naming convention, such as moodle_old for your database, moodle code, and moodledata items.
2) Remove current courses from the backup.
3) Remove old courses from the production moodle.
4) From this point forward, make a course backup, with students, each semester. Restore this backup into the backup moodle.
5) When you upgrade your production Moodle, also upgrade your backup Moodle. Try to keep your backup Moodle "in sync" with your production Moodle.
Keeping the two Moodles "in sync" can become a bit challenging as time goes on. For example, if you remove a plugin from your production Moodle, that plugin might be needed for an old course.
I happen to have several backups, one called moodle19, and one called moodle29. I can get to any course that I created under these moodle versions. And I also have a moodle3 that mirrors my current production Moodle. My thoughts are that eventually, I will begin a new moodle4, probably next year when Moodle 4.0 is released. Since my moodles are small, these backups are on a MAMP installation. 1.9 and 2.9 require PHP 5.6, whereas 3.0 requires PHP 7. But I can easily switch between these PHP versions within MAMP, when needed.