Calendars, tasks and contacts are only stored in the database. There is no way to recover those without the database or a database backup.
You could use calcardbackup to recover calendars and tasks from your 1 year old backup (have a look at the section does this also work with a broken instance
in the README for a quick howto). Please note, that you need to import the database backup into a database first.
For the future you could use calcardbackup to create regular backups of calendar, tasks and contacts (also automatically with a cronjob).