Currently, I've to refresh one of my Developer sandbox as it has become little outdated. But I don't want to lose data. This is because There are too many objects having relationships. So creating test data for all such objects will be tedious task involving efforts of approx 2 days.

Just curious to know, what are the options I've ? 

One of the way I'm thinking is to use ANT . These are the basic steps I'm thinking for this :

1. Back up of all the metadata via Eclipse/ANT of all the components of Sandbox so as to prevent inadvertently overwrite of any component having change present only in this sandbox.
2. Retrieve all the components from production
3. Deploy retrieved components into Sandbox.

I just like to find, if any kind of issues I could face for doing this as I've limited time available to perform this activity. 

Would this also lead to any kind of tasks , where I might have to spend lots of time?
I don't want to run into situation, where I've to 'ultimately' go for standard Sandbox refresh' functionality.

Thanks for any ideas on this !