You're embarking on an interesting journey!
Travelling by train + train is the cheapest way of getting there. Chennai (Tamil Nadu) to Rishikesh (Uttarakhand) distance is 2370 km and you can get there by train + train in just over 54 hours and 9 minutes. However, flight + cab tickets come also cheap with fares starting from ₹ 7447.
It's pleasant weather in daytimes, but can get really cold at nights.